我有这样的上下文:
[EnableClientAccess()]
public class MyRiaService : LinqToEntitiesDomainService<EntityFrameworkContext>
使用Silverlight客户端时,我正在发起一个耗时超过1分钟的重型数据库操作。结果,我遇到了超时异常:
未捕获错误:Silverlight应用程序中发生未处理的错误:提交操作失败,对于HTTP请求至 https://localhost/MyProject/ClientBin/myservice.svc/binary 已经超出了允许的时间限制。此操作所分配的时间可能是更长时间限制的一部分。
堆栈跟踪: 在 System.Windows.Ria.OperationBase.Complete(Exception error) 在 System.Windows.Ria.SubmitOperation.Complete(Exception error) 在 System.Windows.Ria.DomainContext.CompleteSubmitChanges(IAsyncResult asyncResult) 在 System.Windows.Ria.DomainContext.<>c_DisplayClassd.b_5(Object)
我想更改发送超时时间,但我不知道该怎么做。 我已经尝试过以下方法:
((WebDomainClient<LibraryDomainContext.ILibraryDomainServiceContract>)this.DomainClient).ChannelFactory.Endpoint.Binding.SendTimeout = new TimeSpan(0, 5, 0);
但是我没有DomainClient属性。
channelFactoryProperty
是 null 还是该属性的值为 null? - SpontifixusGetValue(...)
调用的返回值转换为ChannelFactory<LibraryDomainContext.ILibraryDomainServiceContract>
,而不仅仅是ChannelFactory
...否则我现在就没有更多的想法了 :/ - Spontifixus