国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ASP.NET5WebApi返回HttpResponseMessage

2019-11-14 14:33:37
字體:
來源:轉載
供稿:網友

首先,asp.net 5 沒有了 MVC 和 WebApi 的區分,都屬于 ASP.NET 5,從 Controller 的繼承就可以看出,原來 ASP.NET WebApi 2 ValuesController : ApiController 改成了 ValuesController : Controller,并且返回 HttPResponseMessage 也有些改變。

ASP.NET WebApi 2 中的示例代碼:

[Route("values/{id}")]public async Task<HttpResponseMessage> Get(string id){    var response = Request.CreateResponse(HttpStatusCode.OK);    var accept = Request.Headers.Accept;    var result = await _valuesService.Get(id);    if (accept.Any(x => x.MediaType == "text/html"))    {        response.Content = new StringContent(result, Encoding.UTF8, "text/html");    }    else    {        response.Content = new StringContent(result, Encoding.UTF8, "text/plain");    }    return response;}

ASP.NET 5 WebApi 中的示例代碼:

[Route("values/{id}")]public async Task Get(string id){    var accept = Request.GetTypedHeaders().Accept;    var result = await _valuesService.Get(id);    var data = Encoding.UTF8.GetBytes(result);    if (accept.Any(x => x.MediaType == "text/html"))    {        Response.ContentType = "text/html";    }    else    {        Response.ContentType = "text/plain";    }    await Response.Body.WriteAsync(data, 0, data.Length);}

可以看到,改變還是很大的,主要是兩方面:

  • 沒有了 Request.CreateResponse,獲取 Accept 需要通過 Request.GetTypedHeaders()。
  • 沒有返回值,而是直接通過數據流的方式寫入到 Response.Body 中。

參考資料:

  • Breaking changes list and migration guidance are needed
  • How to create a response message and add content string to it in ASP.NET 5 / MVC 6
  • Where all types for http headers gone in ASP.NET 5?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精河县| 温州市| 泰兴市| 林西县| 萍乡市| 句容市| 册亨县| 衡南县| 长汀县| 建平县| 宝鸡市| 巩义市| 长兴县| 饶平县| 邵阳市| 中江县| 临桂县| 岫岩| 方山县| 新和县| 陇南市| 张掖市| 宁德市| 丰顺县| 莒南县| 邢台市| 新蔡县| 湘潭市| 穆棱市| 田阳县| 临高县| 万宁市| 浦城县| 灵武市| 承德县| 绥芬河市| 金门县| 义乌市| 凤山市| 延长县| 金昌市|