Asp.net 如何在内容处理程序中设置HttpResponse StatusDescription?
我试图在HTTP响应中设置自定义HTTP状态头。例如:Asp.net 如何在内容处理程序中设置HttpResponse StatusDescription?,asp.net,iis,generic-handler,Asp.net,Iis,Generic Handler,我试图在HTTP响应中设置自定义HTTP状态头。例如: 400 Why do you want to do that 我是通过在IHttpHandler中设置HttpResponse的StatusDescription来实现的 <%@ WebHandler Language="C#" Class="Foo" %> using System; using System.Web; public class Foo : IHttpHandler { public void
400 Why do you want to do that
我是通过在IHttpHandler
中设置HttpResponse
的StatusDescription
来实现的
<%@ WebHandler Language="C#" Class="Foo" %>
using System;
using System.Web;
public class Foo : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
context.Response.StatusDescription = "Why do you want to do that";
//Unnecessary; the string already contains this
context.Response.Status = "400 Why do you want to do that";
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable { get { return false; } }
}
在通用处理程序中,如何更改HttpResponse
头的StatusDescription
花言巧语
有三个属性:
:int StatusCode
400
:字符串状态描述
错误请求
:字符串状态
400错误请求
StatusCode
将改变StatusDescription
和Status
StatuCode StatusDescription Status
================== ========= ================= ====================
initial 200 OK 200 OK
StatusCode=400;
400 Bad Request 400 Bad Request
StatusDescription = "Too much want";
400 Too much want 400 Too much want
它的工作方式也是相反的:
StatuCode StatusDescription Status
================== ========= ================= ====================
initial 200 OK 200 OK
StatusDescription="Brilliant";
200 Brilliant 200 Brilliant
StatusCode=451;
451 Brilliant 451 Brilliant
另一方面
StatuCode StatusDescription Status
================== ========= ================= ====================
initial 200 OK 200 OK
Status="451 Brilliant"
451 Brilliant 451 Brilliant
花言巧语
发件人:
6.1.1状态代码和原因短语
下面给出了为HTTP/1.1定义的数字状态代码的各个值以及相应原因短语的示例集。这里列出的原因短语只是建议——它们可以被本地等价物替换,而不会影响协议
StatuCode StatusDescription Status
================== ========= ================= ====================
initial 200 OK 200 OK
Status="451 Brilliant"
451 Brilliant 451 Brilliant