zoukankan      html  css  js  c++  java
  • HttpStatusCodeResult

    HttpStatusCodeResult:让mvc回传特定的http状态代码与消息给客户端,对于一些特殊的http响应,可利用httpStatusCodeResult帮助我们响应适当的状态代码:

    1XX:参考信息
    2XX:成功,(200网页正常响应,201表示Created服务器端已经成功创建资源)
    3XX:重新导向,(302表示Found,查找这个资源但暂时转移到另一个URL,301代表Moved Permanently,表示URL已经发生永久改变,客户端必须转向另一个URL,且不用保留原本URL的记录)
    4XX:客户端错误,(404Not Found找不到网页,401 Unauthorized 拒绝访问)
    5XX:服务器错误,当服务器发生错误时会响应5XX的状态代码,(500 Internal Server Error 属于内部服务器错误,也就是常见的HTTP 状态代码)
    如果想要响应201 Creadted状态代码,
    eg:
    [HttpPost]
    public ActionResult Create(FormCollection form)
    {
    //TODO:一句客户端窗体输入的数据在数据库中创建一条记录
    return new HttpStatusCodeResult(201,"数据已被成功创建");
    //如下这种写法可以避免设置了一个非标准的HTTP状态代码
    return new HttpStatusCodeResult(System.Net.HttpStatusCode.Created,"数据已被成功创建");
    }
     
    HttpNotFoundResult:用来响应http 404找不到网页的错误,在System.Web.Mvc.Controller类别中内建了一个
    HttpNotFound辅助方法,方便回传HttpNotFoundResult类型的ActionResult结果。
    eg:
    public ActionResult Get(int id)
    {
    var data=GetDataFromDB(id);
    if(data==null){
    return HttpNotFound();
    }else{
    return View(data);
    }
    }
     
    HttpUnauthorizedResult:响应http 401拒绝访问的错误,例如你可以在Action里做出一些额外的权限检查,如果查出客户端用户并没有特定数据的访问权限,就可以利用这个响应“拒绝访问”的http状态代码:
    eg:
    public ActionResult Get(int id){
    if(CheckPermission(User.Identity.Name)){
    var data=GetDataFromDB(id);
    if(data==null){
    return HttpNotFound();
    }else{
    return View(data);
    }
    }else{
    return new HttpUnauthrizedResult();
    }
    }
  • 相关阅读:
    Dynamics CRM 2011/2013 通过Javascript给lookup字段赋值
    shell重定向(大于号,小于号,左右,2>&1,&)
    Dynamics CRM2011 同一个FORM表单同一个字段可以摆放多次
    词的向量表示
    机器翻译领域的新突破
    Dynamics CRM2011 隐藏sub-grid 新建项和添加现有项按钮
    sed常用方法与命令
    Dynamics CRM Odata QueryUrl中的SetName问题
    hive发杂数据结构的使用,struct,array,map
    maven 经常使用命令
  • 原文地址:https://www.cnblogs.com/jinhaoObject/p/4597741.html
Copyright © 2011-2022 走看看