状态码为404的ASP.NET页面

时间:2011-04-08 11:27:56

标签: asp.net http-status-code-404 custom-error-pages

大家好! 我有asp.net错误异常的问题。 我正在研究房地产网络应用程序和谷歌已经为房地产链接制作了索引。但经过一段时间后,db中不再存在几个房地产。 问题是下一步:如果用户点击房地产链接,这在db中不再存在, 我需要返回我的客户错误页面,状态代码为404.

我尝试以下一种方式做到这一点:

  1. 关于处理网址我检查是否有这样的问题 房地产存在
  2. 如果不是我扔了 我自己的RealEstateDontExistException
  3. 处理错误时,在Global.asax中
  4. 服务器我检查是否有这个错误 RealEstateDontExistException的类型 那么
  5. 我设置:
  6. Responce.StatusCode = 404;
    Server.CleanError();
    Server.Transfer("~/ErrorPage.aspx");
    

    我需要显示状态代码为404的aspx页面。 在本地主机上它工作正常。但是,如果我尝试从生产服务器获得不存在的房地产,那么网络浏览器会显示下一个文本

      

    “您要查找的资源已被删除,名称已更改,或暂时无法使用。”   状态码为404。

    有人能帮助我吗?谢谢。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

看看这些资源:

这是IE用于确定最小大小的注册表项:

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