微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Silverlight 3客户端配置WCF RIA Services调用的超时

我正在使用带有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] 举报,一经查实,本站将立刻删除。

相关推荐