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();
    }
    }
  • 相关阅读:
    使用 SVC 修改代码
    USB device classes
    QUEUE Implement a first in, first out linked list
    Delphi Memory 函数
    ARM CortexM 分支指令编码
    W25Q16 driver
    TStringList.SaveToStream TStringStream.SaveToStream
    CreateFile, DeviceIoControl, ReadFile, WriteFile, CancelIo, CloseHandle, GetOverlappedResult
    CortexM3 / M4 SVC Handler
    move to www.csdn.net
  • 原文地址:https://www.cnblogs.com/jinhaoObject/p/4597741.html
Copyright © 2011-2022 走看看