我有一个WCF服务,使用netTcpBinding定义了14-15个服务合同,没有安全或可靠的会话。
我已将Throttling作为行为启用,并且尚未定义InstanceContextMode,因此我可以假设它是PerSession实例。 (我已经读过,即使我改变它说PerCall它会忽略它,因为netTcpBinding是“会话”,有人可以确认吗?)
<serviceThrottling
maxConcurrentCalls="100"
maxConcurrentSessions="300"
/>
我的问题是,在这种情况下,对于每项服务,我的设置应该是什么? 并且在服务器上的1个正在运行的服务中定义了这么多合同会对性能和死锁产生影响吗?
由于 d
答案 0 :(得分:0)
ServiceThrottling是服务的行为并适用于服务。
因此,您可以定义不同的此类行为并对您的服务应用不同的限制 - 可能会阻止DOS攻击。
节流的一般方法是“如果它没有破坏,就不要修理它。”在大多数情况下,您不需要节流。限制仅在您拥有共享资源(您的网站和服务在同一服务器上运行)并且您不希望您的服务窒息您的网站时才有帮助。
限制不会导致或帮助解决僵局。