Я пытаюсь выяснить, куда засунуть этот объект:Как установить 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?
EDIT: Или у меня есть способ сделать это в web.config без необходимости создавать запись <service />
для каждого из наших сервисов?
Вам нужно будет создать пользовательский 'ServiceHost' и пользовательский' ServiceHostFactory' и скажите IIS использовать это вместо стандартного. Затем вы можете добавить поведение программно на свой собственный хост. Если я получу шанс, я отправлю пример позже. – Tim
@Tim Спасибо, если у вас есть пример или я могу указать на то, что было бы здорово! – BVernon
У меня есть пример, но я, вероятно, не смогу опубликовать его до поздней ночи (я на западном побережье США). – Tim