C# - 缓冲(MVC)和非缓冲(WEB API)的ASP.NET差异?

时间:2015-10-02 04:07:22

标签: c# asp.net-mvc asp.net-web-api

正如标题所述,每个人的表现和用法有何不同? 还有什么是缓冲和非缓冲的原因?内存使用情况?

1 个答案:

答案 0 :(得分:2)

以下是MVC和WebAPI参数绑定之间的一些区别:

MVC只有模型绑定器而没有格式化程序。这是因为MVC会在请求的主体(通常期望它只是FormUrl编码)上建模绑定,而WebAPI在请求的主体上使用序列化器。

MVC缓冲了请求体,因此可以轻松地将其提供给模型绑定。 WebAPI不会缓冲请求主体,因此默认情况下不会对请求主体建模绑定。

WebAPI的绑定可以完全基于动作签名类型静态确定。例如,在WebAPI中,您可以静态地知道参数是绑定到正文还是查询字符串。而在MVC中,模型绑定系统将搜索正文和查询字符串。

浏览此链接:http://blogs.msdn.com/b/jmstall/archive/2012/04/16/how-webapi-does-parameter-binding.aspx