向客户端发送状态码500时页面未呈现

3

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

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

同时,我会提供友好的提示信息告诉用户出现了错误。但是,我并没有看到我的信息,而是看到了默认的IIS消息,类似于:

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

如果我进入IIS并删除500的错误页面,我会看到这个消息:

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

在IIS6中,它按照预期工作,但在IIS7中不起作用。我应该怎么做才能让它在IIS7中工作?

1个回答

6

您需要在其中再添加一行以绕过 IIS7 接管(基于您设置的 500 错误代码):

Response.TrySkipIisCustomErrors = true;

Reference: HttpResponse.TrySkipIisCustomErrors


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接