Страница ASP.NET MVC Custom Error (Код состояния 404 бросает 500),

У меня есть набор customErrors в моем web.config

<customErrors mode="On" defaultRedirect="/Error/GeneralError">
    <error statusCode="404" redirect="/Error/NotFound"/>
</customErrors>

Это хорошо работает локально. 404 броски 404. На общем хостинге это подбрасывает стандартный сервер 404 страницы, если я конкретно не установил 404 для указания на/Error/NotFound. Это прекрасно. Теперь это покажет, что пользовательские 404 страницы кроме кода состояния ответа 200. Таким образом, если я пытаюсь бросить Ответ. StatusCode = 404; в моем действии NotFound в ErrorController как это:

public class ErrorController : Controller
{
    public ActionResult NotFound()
    {
        Response.StatusCode = 404;
        return View();
    }
}

сервер бросает код состояния 500 Внутренняя Ошибка Сервера, но моя страница GeneralError не показывает, просто пустая белая страница без источника.

Я попробовал много различных комбинаций, но я, может казаться, не нахожу, как заставить его показать мои пользовательские 404 страницы наряду с 404 ответами.

Какие-либо идеи?

8
задан mark123 4 March 2010 в 03:46
поделиться

1 ответ

Интересную информацию я нашел здесь: http://blog.angrypets.com/2008/03/responsetryskip.html

Response.TrySkipIisCustomErrors = true; 

Установка TrySkipIisCustomErrors в true после Response.StatusCode = 404; решает проблему.

21
ответ дан 5 December 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: