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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

ASP.NET5WebApi返回HttpResponseMessage

2019-11-14 14:24:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

首先,asp.net 5 沒(méi)有了 MVC 和 WebApi 的區(qū)分,都屬于 ASP.NET 5,從 Controller 的繼承就可以看出,原來(lái) 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);}

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

  • 沒(méi)有了 Request.CreateResponse,獲取 Accept 需要通過(guò) Request.GetTypedHeaders()
  • 沒(méi)有返回值,而是直接通過(guò)數(shù)據(jù)流的方式寫(xiě)入到 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?

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 榆林市| 屯昌县| 墨竹工卡县| 灵宝市| 麻城市| 清徐县| 杭锦后旗| 达尔| 曲阜市| 宣汉县| 龙陵县| 曲靖市| 夹江县| 太和县| 聂荣县| 太原市| 仪陇县| 财经| 许昌市| 溆浦县| 宜君县| 府谷县| 黔西| 图片| 常山县| 荆州市| 湖北省| 鲁山县| 平乐县| 凭祥市| 临颍县| 景泰县| 玉屏| 汶川县| 龙井市| 伊通| 汉中市| 巧家县| 巧家县| 大悟县| 新巴尔虎左旗|