国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 威宁| 浑源县| 上虞市| 额济纳旗| 修水县| 松桃| 星子县| 沙洋县| 宜兰市| 屯昌县| 盈江县| 石嘴山市| 二连浩特市| 湾仔区| 静海县| 松原市| 伊吾县| 保靖县| 类乌齐县| 河南省| 台东县| 灵台县| 乌拉特后旗| 成都市| 常州市| 凌云县| 伊吾县| 临高县| 文登市| 桂东县| 茶陵县| 仁化县| 苍南县| 德清县| 平塘县| 徐州市| 卢氏县| 小金县| 新竹市| 凤庆县| 巴塘县|