gpt4 book ai didi

asp.net - ASP.NET MVC 3中的错误处理在主机上无法正常工作

转载 作者:行者123 更新时间:2023-12-03 07:43:53 25 4
gpt4 key购买 nike

在我的asp.net mvc 3应用程序中,我已经完成了一些错误处理,并且很高兴它能够正常工作。它可以在本地计算机上正常工作。但是在主机上,iis可能用自己的错误页面替换错误 View 。我认为并且几乎可以肯定这是因为Response.TrySkipIisCustomErrors

但是我将Response.TrySkipIisCustomErrors设置为true;,没有任何效果。

web.config

<customErrors mode="Off"></customErrors>

Global.asax
void Application_Error(object sender, EventArgs e)
{
var exception = Server.GetLastError();
Response.Clear();
Server.ClearError();
Response.StatusCode = (int)HttpStatusCode.InternalServerError;
Response.TrySkipIisCustomErrors = true;

var routeData = new RouteData();
routeData.Values["controller"] = "Errors";
routeData.Values["action"] = "ServerError";

var httpException = exception as HttpException;
if (httpException != null)
{
Response.StatusCode = httpException.GetHttpCode();
switch (Response.StatusCode)
{
case 403:
routeData.Values["action"] = "Unathorized";
break;
case 404:
routeData.Values["action"] = "NotFound";
break;
}
}

IController errorsController = new ErrorsController();
var rc = new RequestContext(new HttpContextWrapper(Context), routeData);
errorsController.Execute(rc);
}

我要如何重写此代码以使IIS托管在主机句柄上。

最佳答案

尝试从 Controller 基类派生,该基类将覆盖OnException方法,并将所有错误处理代码放在此处。

关于asp.net - ASP.NET MVC 3中的错误处理在主机上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8050766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com