将状态码500发送到客户端时不会呈现页面

时间:2010-07-20 09:52:12

标签: c# asp.net iis-7 http-status-codes

我有一个页面(通用处理程序),我想在其上将状态代码500返回给客户端以指示出现问题。我是这样做的:

Response.StatusCode = 500;
Response.StatusDescription = "Internal Server Error";

同时我会回复一条友好的消息告诉用户出现了问题。 但是,我没有看到我的消息,而是获得了类似这样的默认IIS消息:

  

服务器错误   500内部服务器错误。   您正在查找的资源存在问题,无法显示。

如果我进入IIS并删除500的错误页面,我收到此消息:

  

由于发生内部服务器错误,无法显示页面。

它在IIS6中按预期工作,但在IIS7中没有。我该怎么做才能让它在IIS7中运行?

1 个答案:

答案 0 :(得分:6)

你需要再多一行来绕过IIS7接管(根据你设置的500错误代码):

Response.TrySkipIisCustomErrors = true;

参考:HttpResponse.TrySkipIisCustomErrors