WCF限制多个ServiceContracts

时间:2011-05-26 11:15:00

标签: wcf wcf-binding

我有一个WCF服务,使用netTcpBinding定义了14-15个服务合同,没有安全或可靠的会话。

我已将Throttling作为行为启用,并且尚未定义InstanceContextMode,因此我可以假设它是PerSession实例。 (我已经读过,即使我改变它说PerCall它会忽略它,因为netTcpBinding是“会话”,有人可以确认吗?)

      <serviceThrottling
               maxConcurrentCalls="100"
               maxConcurrentSessions="300"
             />

我的问题是,在这种情况下,对于每项服务,我的设置应该是什么? 并且在服务器上的1个正在运行的服务中定义了这么多合同会对性能和死锁产生影响吗?

由于 d

1 个答案:

答案 0 :(得分:0)

ServiceThrottling是服务的行为并适用于服务。

因此,您可以定义不同的此类行为并对您的服务应用不同的限制 - 可能会阻止DOS攻击。

节流的一般方法是“如果它没有破坏,就不要修理它。”在大多数情况下,您不需要节流。限制仅在您拥有共享资源(您的网站和服务在同一服务器上运行)并且您不希望您的服务窒息您的网站时才有帮助。

限制不会导致或帮助解决僵局。