首先,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 中。

参考资料:

最新文章

  1. 使用 Sublime Text 2 开发 Unity3D 项目
  2. [译]使用scikit-learn进行机器学习(scikit-learn教程1)
  3. 添加一个DataSet
  4. python中字符与ascii码转换
  5. 上海洋码头(www.ymatou.com)急招技术人才(职位:互联网软件开发工程师,.NET网站架构师,Web前端开发工程师,高级测试工程师,产品经理)
  6. linux上配置jdk+Apache
  7. java三大特性性:封装、继承和多态
  8. 错误记录--关于foreach,集合已修改;可能无法执行枚举操作
  9. ElasticSearch — 集群搭建
  10. Spring9:Autowire(自动装配)机制
  11. linux同步测试机文件到开发机
  12. 清理maven本地库中的lastUpdated文件
  13. 安卓版的pvr图片查看
  14. Jenkins和pipeline
  15. ASP.NET MVC - NPOI读取Excel
  16. Python Pycharm 专题
  17. 140 - The 12th Zhejiang Provincial Collegiate Programming Contest(第三部分)
  18. 【BZOJ4872】分手是祝愿
  19. 您还在用下一步下一步的方式安装SQLSERVER和SQLSERVER补丁吗?
  20. [javaSE] 数组(获取最值)

热门文章

  1. [翻译]开发文档:android Bitmap的高效使用
  2. 谈谈如何使用Netty开发实现高性能的RPC服务器
  3. 使用Visual Studio SDK制作GLSL词法着色插件
  4. sonn_game网站开发01:写在最前面
  5. 【原】FMDB源码阅读(二)
  6. hadoop2.7之Mapper/reducer源码分析
  7. AFNetworking 3.0 源码解读 总结(干货)(上)
  8. jQuery2.x源码解析(缓存篇)
  9. beans.xml
  10. css3制作旋转动画