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