我正在使用带有Silverlight 3.0的
WCF RIA Services Beta,我希望能够从客户端配置超时.我知道底层技术是WCF,默认超时似乎是我所期望的60秒.
有没有一种简单的方法来控制这个和其他WCF设置?
我的第一个想法是尝试在RIA服务测试版之前提供的RIA服务概述pdf文件中提到的DomainContext OnCreated挂钩点. DomainContext对象的MSDN文档不再提及该方法,尽管它仍然存在?我不确定这是文档落后的情况还是我不应该使用此扩展点的指示.
namespace Example.UI.Web.Services { public sealed partial class CustomDomainContext { partial void OnCreated() { // Try and get hold of the WCF config from here } } }
解决方法
http://blogs.objectsharp.com/CS/blogs/dan/archive/2010/03/22/changing-timeouts-in-wcf-ria-services-rc.aspx
创建域上下文后的任一行:
((WebDomainClient<LibraryDomainContext.ILibraryDomainServiceContract>)this.DomainClient).ChannelFactory.Endpoint.Binding.SendTimeout = new TimeSpan(0,5,0);
或部分课程
public partial class LibraryDomainContext { partial void OnCreated() { if(DesignerProperties.GetIsInDesignMode(App.Current.RootVisual)) ((WebDomainClient<LibraryDomainContext.ILibraryDomainServiceContract>)this.DomainClient).ChannelFactory.Endpoint.Binding.SendTimeout = new TimeSpan(0,0); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。