一.介绍
每一个Hηp 响应均具有一个表示响应状态的代码和一个可选的状态描述,正常情况下返回"200 OK" 0, System. Web.Mvc.HttpStatusCodeResult 使我们很容易地响应一个指定状态的回复。
二.代码分析
/// <summary>
/// HttpStatusCodeResult 类包含四个构造函数
/// HttpStatusCodeResult 的HTTP状态既可以在构造函数中通过一个整数来指定,也可以通过System.Net.HttpStatusCode 枚举形式来指定状态码。
/// </summary>
public class HttpStatusCodeResult : ActionResult
{
/// <summary>
/// HttpStatusCodeResult 的HTTP状态既可以在构造函数中通过一个整数来指定,也可以通过System.Net.HttpStatusCode 枚举形式来指定状态码。
/// </summary>
/// <param name="statusCode"></param>
public HttpStatusCodeResult(int statusCode);
public HttpStatusCodeResult(HttpStatusCode statusCode);
public HttpStatusCodeResult(int statusCode, string statusDescription);
public HttpStatusCodeResult(HttpStatusCode statusCode,string statusDescription);
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.StatusCode = this.StatusCode;
if (this.StatusDescription != null)
{
context.HttpContext.Response.StatusDescription =this.StatusDescription;
}
}
//表示响应状态码
public int StatusCode { get; }
//表示响应状态描述信息
public string StatusDescription { get; }
}
HttpSta阳sCodeResult 具有两个子类,一个是基于响应状态"404, Not Found" 的System. Web.Mvc.H即NotF oundResult ,
另一个是基于响应状态"401 , Not Authorized" 的System. Web.Mvc.HttpUnau由orizedResult