gpt4 book ai didi

c# - IIS 7.5 Windows 2008 R2 远程提供 500,本地定制 404

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:55 26 4
gpt4 key购买 nike

我创建了以下基本 Controller 以在 InvalidOperationException 上显示自定义 404(例如未找到 View )。

public class HandlesViewNotFoundController : Controller
{
protected override void OnException(ExceptionContext filterContext)
{
//InvalidOperationException is thrown if the path to the view
// cannot be resolved by the viewengine
if (filterContext.Exception is InvalidOperationException)
{
if (!filterContext.ExceptionHandled)
{
filterContext.ExceptionHandled = true;
filterContext.Result = new ViewResult { ViewName = "_404" };
filterContext.HttpContext.Response.StatusCode = 404;
Response.Clear();

// Clear the error on server.
Server.ClearError();

// Avoid IIS7 getting in the middle
Response.TrySkipIisCustomErrors = true;
}
}
base.OnException(filterContext);
}
}

出于某种原因,当我打开一个会触发 404 的页面时,它在调试时在本地完美运行,在服务器上查看页面时在本地完美运行,但如果我在远程查看我在服务器上检查过的相同 url,返回内部服务器错误 (500)。

有什么想法吗?

最佳答案

检查 customeErrors 属性是否在 web.config(和部署的转换)中正确配置并注释掉全局过滤器 HandleError。

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
//filters.Add(new HandleErrorAttribute());
}

关于c# - IIS 7.5 Windows 2008 R2 远程提供 500,本地定制 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14076931/

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