2011-05-26 61 views
2

我有一個WCF服務,使用netTcpBinding定義的14-15服務合約,沒有安全或可靠的會話。WCF與多個ServiceContracts節流

我已經啓用了Throttling作爲一種行爲,並沒有定義一個InstanceContextMode,所以我可以假設它是一個PerSession實例。 (我讀過,即使我改成了說PerCall它會忽略它,因爲NetTcpBinding的是「sessionful」,有人可以證實這一點?)

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

我真正的問題是,我應該設置在這個什麼每個服務的情況? 並且對於服務器上1個正在運行的服務中定義的許多合同,是否會影響性能和死鎖?

感謝 d

回答

0

ServiceThrottling是針對服務的行爲,適用於服務。因此,您可以定義不同的此類行爲並將不同的限制應用於您的服務 - 可能會防止DOS攻擊。

節流的一般方法是「如果沒有損壞,請不要修理。」在大多數情況下,你不需要調節。如果您擁有共享資源(您的網站和服務在同一臺服務器上運行),並且您不希望自己的服務窒息您的網站,則節流只會有所幫助。

節流不會導致或幫助解決死鎖問題。

+0

當你說你不需要調節時,你是否建議保持默認調節或覆蓋它? – 2015-06-24 02:31:44