国产探花免费观看_亚洲丰满少妇自慰呻吟_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?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西贡区| 诸城市| 同心县| 闻喜县| 化州市| 泽州县| 方城县| 化德县| 木里| 罗田县| 佳木斯市| 南岸区| 遵义市| 常山县| 揭阳市| 庆云县| 华安县| 永福县| 洪湖市| 遂昌县| 德安县| 临夏市| 杭州市| 乌鲁木齐市| 喀什市| 江安县| 崇明县| 乐东| 海林市| 吴旗县| 治多县| 油尖旺区| 宝坻区| 辽阳市| 满城县| 泰州市| 邮箱| 静安区| 辽宁省| 丽水市| 南平市|