【问题标题】:Get description for HTTP status code获取 HTTP 状态码的描述
【发布时间】:2010-08-22 18:55:19
【问题描述】:

在 ASP.NET 中,您可以将 Response.StatusCode 设置为例如 404。应该始终设置状态行/描述吗? (在这种情况下是“404 Page Not Found”)

如果只有代码 (404),如何获取描述?这是框架中的某个地方,还是您必须手动对描述进行硬编码?

【问题讨论】:

    标签: .net asp.net asp.net-4.0 http-status-codes


    【解决方案1】:

    您可以为此使用静态方法HttpWorkerRequest.GetStatusDescription

    【讨论】:

    • 这个答案不适用于 System.Web.dll 不可用的客户端配置文件 .NET,或者不幸的是,在删除 `System.Web 的 .NET Core 中。
    【解决方案2】:

    如果您在拉取 Response.StatusCode 的同时需要它,您可以从 Response.StatusDescription 获取描述。

    【讨论】:

      【解决方案3】:

      状态描述可以通过一些疯狂的类型转换来检索。 这是检索自定义异常消息的代码片段(这只是客户端代码)

      try
      {
          string exText = ((HttpWebResponse)w.Response).StatusDescription);
      }
      catch (WebException w)
      {    
      }
      

      【讨论】:

      • 这不能是客户端代码,因为它是 C#,然后是服务器端
      • 仅限客户端,我还没有在服务器端测试过,但这适用于客户端。
      • 你说得对。如果客户端是 .NET 软件,则为“客户端”。但是,如果它是另一种语言,如何检索它?此 StatusDescription 在原始 HTTP 响应中的什么位置?
      • 上面的代码远不接近客户端。它在执行之前进行编译,并且编译后的代码通常在使用前放置在库中。客户端代码不需要编译。当代码放置在 aspx 文件中时(使用 ),它可能显示为客户端。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      相关资源
      最近更新 更多