1

我已经看到服务器返回 500 个内部服务器错误代码,并在十进制分隔的子代码中包含额外的“详细信息”,例如 500.19。

这个子代码是标准化的还是我可以自由使用?如何防止在 IIS 或 ASP.NET 中崩溃到供应商代码?

卢克

4

2 回答 2

3

这个子代码是标准化的还是我可以自由使用?

无法使用它,引用RFC 2616

Status-Code 元素是一个 3 位整数

MSDN 说HttpResponse.SubStatusCode

无论是否配置了跟踪,代码都不会作为对请求的最终响应的一部分发送

因此,它仅用于日志记录和故障排除,不发送给客户端。

于 2012-12-10T16:45:16.050 回答
0

有一个Microsoft标准列表。请参阅 - http://support.microsoft.com/kb/943891

IIS 7.0 定义了以下 HTTP 状态代码,指示 500 错误的更具体原因:

  • 500.0 - 发生模块或 ISAPI 错误。
    • 500.11 - Web 服务器上的应用程序正在关闭。
    • 500.12 - 应用程序正忙于在 Web 服务器上重新启动。
    • 500.13 - Web 服务器太忙。
    • 500.15 - 不允许直接请求 Global.asax。
    • 500.19 - 配置数据无效。
    • 500.21 - 模块无法识别。
    • 500.22 - ASP.NET httpModules 配置不适用于托管管道模式。
    • 500.23 - ASP.NET httpHandlers 配置不适用于托管管道模式。
    • 500.24 - ASP.NET 模拟配置不适用于托管管道模式。
    • 500.50 - 在 RQ_BEGIN_REQUEST 通知处理期间发生重写错误。发生配置或入站规则执行错误。
    • 注意 这里是为入站和出站规则读取分布式规则配置的地方。
    • 500.51 - 在 GL_PRE_BEGIN_REQUEST 通知处理期间发生重写错误。发生全局配置或全局规则执行错误。
    • 注意 这里是读取全局规则配置的地方。
    • 500.52 - 在 RQ_SEND_RESPONSE 通知处理期间发生重写错误。发生出站规则执行。
    • 500.53 - 在 RQ_RELEASE_REQUEST_STATE 通知处理期间发生重写错误。发生出站规则执行错误。该规则配置为在更新输出用户缓存之前执行。
    • 500.100 - 内部 ASP 错误。
于 2012-12-10T16:28:41.767 回答