加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-2 – 在ASP.NET MVC2中向客户端返回http 204“无内

发布时间:2020-12-15 18:30:45 所属栏目:asp.Net 来源:网络整理
导读:在ASP.net MVC 2应用程序中,我想要返回一个204无内容响应的后期操作。当前我的控制器方法有一个无效的返回类型,但是它将一个响应发送回到客户端为200 OK,Content-Length头设置为0.如何使响应成为204? [HttpPost]public void DoSomething(string param){
在ASP.net MVC 2应用程序中,我想要返回一个204无内容响应的后期操作。当前我的控制器方法有一个无效的返回类型,但是它将一个响应发送回到客户端为200 OK,Content-Length头设置为0.如何使响应成为204?
[HttpPost]
public void DoSomething(string param)
{
    // do some operation with param

    // now I wish to return a 204 no content response to the user 
    // instead of the 200 OK response
}

解决方法

在MVC3中有一个 HttpStatusCodeResult class.你可以自己滚动一个MVC2应用程序:
public class HttpStatusCodeResult : ActionResult
{
    private readonly int code;
    public HttpStatusCodeResult(int code)
    {
        this.code = code;
    }

    public override void ExecuteResult(System.Web.Mvc.ControllerContext context)
    {
        context.HttpContext.Response.StatusCode = code;
    }
}

你必须像这样改变你的控制器方法:

[HttpPost]
public ActionResult DoSomething(string param)
{
    // do some operation with param

    // now I wish to return a 204 no content response to the user 
    // instead of the 200 OK response
    return new HttpStatusCodeResult(HttpStatusCode.NoContent);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读