我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:
我试图让它第一次抛出404代码并显示我设置的404页面(/FileNotFound.aspx)。
问题是要么显示404页面时返回200代码,要么当IIS看到404状态代码并显示其自己可怕的404页面而不是我自定义的页面时,IIS会接管。
我尝试使用模块、global.asax和在我的404页面的代码后端设置状态代码。所有结果都导致IIS接管。
这是我的Global.asax实现。
现在我通过Server.Transfer解决了这个问题。
然而,这会导致所有会话都为空,并且任何引用Session的代码都会引发异常。还有试图从资源文件中检索项目的代码会引发异常。
对于在IIS7中处理404错误的“正确方法”,您有任何建议或文章吗?
我有一个在IIS 7中运行的ASP.NET 3.5网站。
我正试图在第一次输入时让404抛出404状态码。
当前情况下,如果您输入
http://www.madeupsiteforexample.com/somethingmadeup
你先接收到一个302,然后是200。我试图让它第一次抛出404代码并显示我设置的404页面(/FileNotFound.aspx)。
问题是要么显示404页面时返回200代码,要么当IIS看到404状态代码并显示其自己可怕的404页面而不是我自定义的页面时,IIS会接管。
我尝试使用模块、global.asax和在我的404页面的代码后端设置状态代码。所有结果都导致IIS接管。
这是我的Global.asax实现。
protected void Application_Error(object sender, EventArgs e)
{
Response.TrySkipIisCustomErrors = true;
Response.StatusCode = 404;
}
现在我通过Server.Transfer解决了这个问题。
然而,这会导致所有会话都为空,并且任何引用Session的代码都会引发异常。还有试图从资源文件中检索项目的代码会引发异常。
对于在IIS7中处理404错误的“正确方法”,您有任何建议或文章吗?