【问题标题】:WCF service binding settingsWCF 服务绑定设置
【发布时间】:2014-12-02 11:50:23
【问题描述】:

我们有一个WCF 网络服务,在我们的网站上经常使用它。有时,我们的网站会吸引大量用户。我不希望服务超时,如果需要的话,如果它运行超过一分钟就可以了。我还想设置服务上可能发生的并发请求的数量。

我看到可以在绑定上设置很多超时设置 - 所有的默认值都是 1 分钟。对于这种情况,我应该设置哪些超时设置,在哪里可以设置最大并发请求数?

谢谢

【问题讨论】:

    标签: asp.net .net web-services wcf service


    【解决方案1】:

    为了实现可扩展的 WCF Web 服务,除其他外,您需要配置正确的并发模式、实例化模型和服务限制设置。

    并发是指在一个服务实例中同时执行的线程数。默认情况下,一个线程执行,但如果客户端调用多个方法并且每个方法都花费很短的时间,您可能需要使用多个线程。

    实例化是指服务实例的生命周期。您可以通过设置ServiceBehavior 属性的InstanceContextMode 属性来控制实例化。此属性有三个可能的值:

    • PerSession。 WCF 运行时在客户端第一次调用服务时创建一个新的服务对象。它使对象保持活动状态以供客户端后续调用。运行时在会话结束时释放对象。这是此属性的默认值。
    • PerCall。每次客户端调用服务时,WCF 运行时都会创建一个新的服务对象。它在调用后释放对象。
    • Single。 WCF 运行时在客户端第一次调用服务时创建一个新的服务对象。它使对象保持活动状态,以供任何客户端进行后续调用。

    服务限制配置根据实例化和并发模式设置控制实例、会话和/或调用的最大数量。

    <behaviors>
      <serviceBehaviors>
        <behavior  name="Throttled">
          <serviceThrottling 
            maxConcurrentCalls="x" 
            maxConcurrentSessions="x" 
            maxConcurrentInstances="x"
          />
    

    以下文章将帮助您评估各种设置并选择最适合您的方案的选项。

    http://msdn.microsoft.com/en-us/library/ff183865.aspx
    http://msdn.microsoft.com/en-us/library/ms731379%28v=vs.110%29.aspx
    http://msdn.microsoft.com/en-us/library/vstudio/ms735114%28v=vs.100%29.aspx

    【讨论】:

      猜你喜欢
      • 2012-11-18
      • 2011-07-08
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多