当web.config中的debug = true时,404页面显示为源(chrome和ff,不在边缘)

时间:2017-12-11 08:07:56

标签: asp.net-mvc

当我收到不存在路线的请求时,在我的mvc app中

我清除了服务器错误并重定向到我的ErrorController(代码在  Global.asax.cs Application_Error):

Response.Clear();
HttpContext.Current.Response.TrySkipIisCustomErrors = true;

Server.ClearError();

var routeData = new RouteData();
routeData.Values.Add("controller", "Error");
routeData.Values.Add("action", "HttpError404");

IController errorController = new ErrorController();
errorController.Execute(new RequestContext(
     new HttpContextWrapper(Context), routeData));

并且操作返回一个视图:

public ActionResult HttpError404(Exception error)
{
    Response.StatusCode = 404;

    if (Request.IsAjaxRequest())
    {
        return Content("404 not found");
    }

    return View();
}

问题是当chrome和ff(不在边缘)的web.config中有compilation debug="true"时,404页面显示为source(plain html)

1 个答案:

答案 0 :(得分:2)

y与浏览器特有的内容无关。

然而,从您的实现看,浏览器链接似乎导致了这个问题。

您可以停用compilation并检查是否有效,

https://docs.microsoft.com/en-us/aspnet/visual-studio/overview/2013/using-browser-link#disabling