我試圖找出其中以推這個對象:如何設置ServiceThrottlingBehavior爲IIS託管WCF服務編程
ServiceThrottlingBehavior stb = new ServiceThrottlingBehavior
{
MaxConcurrentSessions = 100,
MaxConcurrentCalls = 100,
MaxConcurrentInstances = 100
};
我發現信息關於如何配置這在web.config中,但我對此有點困惑。我們曾經在我們的web.config的東西,看起來像這樣:
<service name="AuthenticationService.AuthenticationService" behaviorConfiguration="Development">
<endpoint address="http://services.local/0.0.0.5/AuthenticationService.svc"
binding="basicHttpBinding"
bindingConfiguration="TUPSOAPBinding"
contract="AuthenticationService.ServiceDomain.ISecurityService"
name="SOAPCatalogService" />
</service>
如果大家還是習慣,我會確切地知道如何通過配置Web.config文件中的限制,但我們發現,我們可以採取一切那些端點不在web.config中,一切仍然有效,並且由於我們不必爲更新的版本和環境更新地址,因此維護工作量減少。
我也找到了關於如何在ServiceHost上以編程方式設置的信息,但我沒有以編程方式創建ServiceHost。我正在讓IIS處理這個問題。
那麼是否有一種編程方式讓我無需web.config即可設置節流並且無需自己創建ServiceHost?
編輯:或者有沒有辦法讓我在web.config中做到這一點,而不必爲我們的每一項服務創建一個<service />
條目?
您必須創建一個自定義'ServiceHost'和一個自定義'ServiceHostFactory',並告訴IIS使用它而不是默認的。然後,您可以以編程方式將行爲添加到自定義主機。如果我有機會,我會在稍後發佈一個例子。 – Tim
@Tim謝謝,如果你有一個例子,或者可以指給我一個很棒的例子! – BVernon
我確實有一個例子,但我可能無法在今晚晚些時候發佈它(我在美國西海岸)。 – Tim