У меня есть службы WCF (размещенная в IIS 7.5), который имеет SVC файл меньше активации с помощью следующегоПочему WCF пользовательский ServiceHostFactory вызывается каждый раз?
<serviceHostingEnvironment>
<serviceActivations>
<add factory="String"
service="String"/>
</serviceActivations>
</serviceHostingEnvironment>
Я использую пользовательский хост завод не по умолчанию один.
И сервис WSTrustServiceContract. Теперь, если вы видите объявление этого класса
[ServiceBehaviorAttribute(Name = "SecurityTokenService", Namespace = "http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice",
InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]
[AspNetCompatibilityRequirementsAttribute(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class WSTrustServiceContract : IWSTrustFeb2005SyncContract,
IWSTrust13SyncContract, IWSTrustFeb2005AsyncContract, IWSTrust13AsyncContract, IWsdlExportExtension, IContractBehavior
Таким образом, мы можем сделать вывод, что
- Обычай хозяин завода будет называться, чтобы создать экземпляр службы.
- После того, как экземпляр службы будет создан, он будет для всех запросов (InstanceContextMode.Single)
Моих вопросов
- Почему экземпляр пользовательского хозяина фабрики становится создан за вызов (У меня есть точка останова в конструкторе этой фабрики. Я отлаживаю, присоединяясь к экземпляру w3wc)?
- Почему экземпляр моего сервиса создается за звонок?
Попробуйте снова проверить конфигурацию. Я попытался имитировать это, создав образец приложения, но он работал правильно, был создан только один экземпляр фабрики и службы пользовательских хостов. –
@ Lukas: Что я должен проверить в конфигурации? – ViBi
Можете ли вы показать мне, как ваш пользовательский завод-изготовитель создает экземпляр этой службы? –