Есть ли способ обработать исключение, созданное конструктором службы WCF, когда этот конструктор принимает зависимость, и это создание экземпляра зависимости контейнером IoC (AutoFac в этом случае )что вызывает исключение ?
Рассмотрим сервис WCF со следующим конструктором:
public InformationService(IInformationRetriever informationRetriever)
{
_informationRetriever = informationRetriever;
}
//... the service later makes use of the injected InformationRetriever
Служба использует AutoFac WcfIntegration иAutofacWebServiceHostFactory
(это служба RESTful ).
Зависимости прописаны в файле global.asax.cs сервиса, т.е.:
builder.RegisterType<InformationRetriever>()
.As<IInformationRetriever>()
Теперь реализация InformationRetriever
выполняет некоторые проверки в своем конструкторе, чтобы убедиться, что все готово для выполнения своей работы. Когда он обнаруживает проблему на этом этапе, он выдает исключение.
Однако я не хочу, чтобы вызывающая сторона службы получала исключение AutoFac :
An exception was thrown while invoking the constructor... on type InformationRetriever
. Фактически я пытаюсь проверить:
Учитывая , служба InformationService работает
. Когда я вызываю метод GetSomeInformation ()
И InformationRetriever не может быть создан
Затем я хочу вернуть понятное сообщение об ошибке
И Зарегистрируйте фактическое исключение
Является ли это проблемой моего дизайна или существует известный шаблон для преодоления или предотвращения этой проблемы?
Я искал вокруг и не мог найти никакой информации по этому типу проблемы.