我试图找出其中以推这个对象:如何设置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