Внедрение зависимостей: внедрение экземпляра клиента службы WCF в веб-API с использованием SimpleInjector (добавление DI в API, а не WCF) - PullRequest
0 голосов
/ 10 июля 2019

В настоящее время я изучаю внедрение зависимостей с помощью SimpleInjector и натолкнулся на случай в моем проекте, я не уверен, как справиться.У меня есть проект веб-API, который на самом внутреннем уровне вызывает службу WCF.Вызовы API работают должным образом и возвращают правильные ответы - но я не уверен, что все закрывается, как я ожидал.(Обратите внимание, что решение вызвать WCF из моего API не в моих руках. Не стесняйтесь изучать этот дизайн, но, пожалуйста, ответьте на имеющийся вопрос)

У меня зарегистрирован клиент WCF в моем загрузчике:

container.Register<IService>(() => new ServiceClient("endpoint"));

Стиль жизни устанавливается в соответствии с рекомендацией SimpleInjector для веб-API:

container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();

У меня есть вопрос, что без введения DI в какой-то момент я бы назвал ServiceClient.Close() для закрытиясервис.Есть ли какой-то особый способ настроить клиентов WCF в контейнере для предотвращения незакрытых экземпляров или некоторых других непредвиденных операционных побочных эффектов?

API возвращает правильные ответы.Я обеспокоен неожиданными проблемами на протяжении всей жизни, которые не проявляются при проведении небольших испытаний.

...