繁体   English   中英

WCF服务绑定设置

[英]WCF service binding settings

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

我看到可以在绑定上设置很多超时设置-所有这些设置的默认值均为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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM