Я использую новую бета-версию Web Api и хочу вернуть
HttpResponseMessage<MyObject>(new MyObject{ MyMessage = "Go Away!" }, HttpStatusCode.Unauthorized)
из одного из моих действий ApiController.
Аутентификация с помощью форм перехватывает ответ,аварийно завершает работу и добавляет ошибку "Cannot redirect after HTTP headers have been sent."
и html в ответ.
Обычные методы подавления, такие как this , не работают с Web Api.
Кто-нибудь нашелОбойти это?
Я посмотрел это сообщение на форуме , где люди сообщают о той же проблеме, но решения там не работают для этого случая.Первое предложенное решение использует обычную технику подавления, которая не работает для веб-API.Вторая использует HttpMessageHandler для перехвата запроса до того, как он попадет в контроллер, я хочу, чтобы контроллер работал как обычно.
После просмотра DelegatingHandler
я могу получить доступ к HttpResponseMessage
, но не имеюИдея, что с этим делать, чтобы FormsAuth не перенаправлял.