2011-04-08 50 views
1

everyone! 我有asp.net错误例外的问题。 我正在处理房地产网络应用程序和谷歌已作出指数的房地产链接。但经过一段时间后,几个房地产在db中不再存在。 问题是下一:如果用户点击链接,房地产,不以dB为单位存在了, 我需要状态代码返回我的custome错误页404状态码为404的ASP.NET页面

我尝试这样做,在明年方式:

  1. 在处理URL我检查如 房地产存在
  2. 如果不是我扔 我自己RealEstateDontExistException
  3. 在Global.asax中在处理服务器的错误 我检查这个错误是 型RealEstateDontExistException 然后
  4. 我设置:
 
Responce.StatusCode = 404; 
Server.CleanError(); 
Server.Transfer("~/ErrorPage.aspx"); 

我需要证明的aspx页面,状态码404 在本地主机的正常工作。但是,如果我尝试从生产服务器获取不存在房地产,那么Web浏览器告诉我下一个文本

“您正在寻找已被删除的资源,有其名称更改,或者暂时不可用。” 与状态代码404.

有人可以帮助我吗?谢谢 。

+0

你确认服务器上存在'ErrorPage.aspx'吗? – 2011-04-08 11:34:40

回答

1

看来您的生产Web服务器显示自己的错误页面。请配置它(IIS)以显示404错误的自定义错误页面 - 请参阅this article了解如何在IIS7(和this for IIS 6.0)上执行此操作。

1

也许你的ErrorPage对于Internet Explorer中的HTTP 404来说太小了(应该有超过10行)。

看一看这些ressources:

这是注册表键的IE使用来确定最小尺寸:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\ErrorThresholds