Почему IIS не возвращает результат моей ошибки, когда запрос не приходит от localhost? - PullRequest
1 голос
/ 20 марта 2012

Один из моих контроллеров ASP.NET MVC3 иногда выдает ApplicationException.Когда это происходит, метод OnException базового класса моего контроллера выполняется и устанавливает результат filterContext:

var apiError = filterContext.Exception as APIException;
filterContext.HttpContext.Response.StatusCode = apiError.HTTPStatusCode;
filterContext.Result = JsonError.GetJsonResult(apiError);

Я знаю, что этот код выполняется;Я прошел через это в отладчике.Но IIS на самом деле обслуживает свою страницу с ошибкой (ту, что в inetpub \ err ...), а не мой ответ JSON, когда запрос не приходит от localhost.Что управляет этим поведением?

Пользовательские ошибки отключены в web.config:

<customErrors mode="Off" defaultRedirect="Error/ErrorPage.html"></customErrors>

1 Ответ

1 голос
/ 21 марта 2012

Попробуйте:

<customErrors mode="On" ...

Это помогло мне. Что сбивает с толку, так это то, что он работает локально независимо от этого параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...