2011-12-15 64 views
2

在Silverlight 4应用程序中,我想增加特定RIA服务加载操作的超时时间(并非针对所有加载,只是在特定情况下)。在Configuring the timeout for a WCF RIA Services call from a Silverlight 3 client我跟着一个链接指向,据说会允许我设置超时。配置DomainContext客户端超时

它似乎工作正常(没有编译器错误,警告,异常等),除了加载操作仍然提前超时。看起来有或没有修改端点的代码,加载操作在2分钟后超时。在我订阅的ChannelFactory上有一个Opening事件,并且在加载操作开始时我的处理程序被调用,所以似乎证实ChannelFactory正在被使用。此外,我将所有4个超时值(接收,打开,关闭,发送)设置为10分钟,以确保我没有设置错误的值。

为什么我无法真正改变RIA加载的超时时间?

回答

0

我发现问题是多个超时正在发挥作用。我为RIA使用了一个EntityFramework域服务,并且我得到了一个EntityFramework超时。我错误地解释了来自RIA负载的超时源,直到我在堆栈跟踪中注意到超时是服务器端。我扩展了分配的EntityFramework命令超时以适应我所需的负载行为。我能够确认,在获得对域上下文的通道工厂的引用后,我可以设置RIA客户端超时。

自我注意:解决超时问题的好方法是首先将其设置为非常短以确认其按预期工作