Я пытаюсь добавить пользовательский IHttpActionInvoker в мое приложение WebAPI, чтобы предотвратить необходимость в многократном повторении кода обработки исключений в моих методах действий.
На самом деле, похоже, не так много о том, как это сделать, кроме этой статьи. После написания моего IHttpActionInvoker в соответствии со статьей я добавил этот код:
GlobalConfiguration.Configuration.Services.Remove(typeof(IHttpActionInvoker),
GlobalConfiguration.Configuration.Services.GetActionInvoker());
GlobalConfiguration.Configuration.Services.Add(typeof(IHttpActionInvoker),
new MyApiControllerActionInvoker());
В метод в моем файле Global.asax. Теперь, когда вы выполняете вызов моего API, я получаю следующее исключение, возникшее в методе Remove():
The service type IHttpActionInvoker is not supported
У меня есть два вопроса.
-
Учитывая, что там не так много ужасно, что писать пользовательские классы IHttpActionInvoker - это хороший подход к решению обработки исключений в приложениях WebAPI?
-
Кто-нибудь знает, почему я получаю такое исключение при выполнении метода
Remove()
и как лучше всего исправить эту конкретную проблему?