Я разрабатываю Web Api, и я решил использовать пользовательский DependencyResolver. Я ссылаюсь на эту статью [Зависимость для веб-API-контроллеров]. В настоящее время все работает хорошо в терминах внедрения зависимостей в контроллеры. Код фрагмента моей конфигурации из моего класса запуска Owin
private void RegisterIoC(HttpConfiguration config)
{
_unityContainer = new UnityContainer();
_unityContainer.RegisterType<IAccountService, AccountService>();
.........
.........
config.DependencyResolver = new UnityResolver(_unityContainer);
}
Но в то время , когда Api запускает в первый раз некоторый ResolutionFailedException, который был брошен (но пойман) внутри метода UnityResolver GetService. Вот сообщение об исключении
"Exception occurred while: while resolving.
Exception is: InvalidOperationException -
The current type, System.Web.Http.Hosting.IHostBufferPolicySelector,
**is an interface and cannot be constructed. Are you missing a type mapping?**"
Выше те же исключение выбрано следующие типы
System.Web.Http.Hosting.IHostBufferPolicySelector
System.Web.Http.Tracing.ITraceWriter
System.Web.Http.Metadata.ModelMetadataProvider
System.Web.Http.Tracing.ITraceManager
System.Web.Http.Dispatcher.IHttpControllerSelector
System.Web.Http.Dispatcher.IAssembliesResolver
System.Web.Http.Dispatcher.IHttpControllerTypeResolver
System.Web.Http.Controllers.IHttpActionSelector
System.Web.Http.Controllers.IActionValueBinder
System.Web.Http.Validation.IBodyModelValidator
System.Net.Http.Formatting.IContentNegotiator
Я знаю, что это исключение ResolutionFailedException выбрано потому, что я не предоставлял сопоставления в моей конфигурации единства для вышеуказанных типов.
Теперь вот мой вопрос:. Если я реализую настраиваемое единство DependencyResolver, мне нужно определить сопоставления вышеуказанных типов и, если нужно определить, какими будут их соответствующие типы реализации по умолчанию ИЛИ существует ли какая-то альтернатива способ реализации DependencyResolver. Я действительно обеспокоен, даже несмотря на то, что приложение работает нормально сейчас, неспособность разрешить вышеуказанный тип может вызвать серьезную проблему позже. Пожалуйста, помогите.
Одно последнее дополнение: - Для следующих типов, такое же ResolutionFailedException, которое вызывается, когда я делаю запрос на любое действие в мой веб-api
System.Web.Http.Dispatcher.IHttpControllerActivator
System.Web.Http.Validation.IModelValidatorCache
System.Web.Http.Controllers.IHttpActionInvoker