我们有一个WCF
网站服务,它在我们的网站上定期使用。偶尔,我们会有大量的用户访问我们的网站。我不希望服务超时,如果需要运行超过一分钟,我就可以。我也想设置服务上可能发生的并发请求数量。WCF服务绑定设置
我看到有很多超时设置可以在绑定上设置 - 所有的默认值都是1分钟。对于这样的情况,我应该设置什么样的超时设置,以及可以在哪里设置最大并发请求数?
感谢
我们有一个WCF
网站服务,它在我们的网站上定期使用。偶尔,我们会有大量的用户访问我们的网站。我不希望服务超时,如果需要运行超过一分钟,我就可以。我也想设置服务上可能发生的并发请求数量。WCF服务绑定设置
我看到有很多超时设置可以在绑定上设置 - 所有的默认值都是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