Мне было интересно, будет ли автоматически применяться дросселирование службы при использовании надежного сеанса. Я не мог найти окончательного ответа при поиске в Интернете и msdn.Включено ли включение WCF по умолчанию?
Я склонен думать, что вы должны положить <serviceThrottling />
в элемент <serviceBehavior />
, чтобы он был включен.
Дело в том, что разные блоги, такие как this one, выкидывают меня, говоря, что вы должны следить за значениями дросселирования по умолчанию.
Это мой вопрос в целом, но я также хотел бы узнать ответ для моей конкретной ситуации. Моя конфигурация в настоящее время имеет следующее поведение:
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
Как вы можете видеть, что я не включаю <serviceThrottling />
элемента. Включен ли режим Throttling или я успешно предотвратил дросселирование этой конфигурации?
Edit:
Я только что проверил выполнения на сервере в OperationContext.Current.Channel.ChannelDispatcher.Endpoints.owner.ServiceThrottle
и его значение равно нулю. Это заставляет меня больше склоняться к идее, что ServiceThrottling отключен.
Однако я не совсем уверен, что это правильный путь для проверки, и я не уверен, что это просто не означает, что, поскольку это нуль, некоторые вещи по умолчанию будут использоваться вместо этого в ядре WCF.
Может ли кто-нибудь предоставить подтвержденный ответ? –