在发布asp.net Web API之后,ASP.NET MVC框架的未来是什么?

joh*_* Gu 6 asp.net asp.net-mvc asp.net-web-api

我已经使用asp.net MVC大约1.5年了,我很享受它的功能,并且已经部署了许多成功的Web应用程序,但我现在正在阅读asp.net Web API技术.而且,我发现以下内容:

  1. 我可以实现我过去使用MVC实现的任何功能; 使用新的Web API并采用更轻量级的方法.

  2. 使用Web API比较asp.net MVC更容易开发Web服务.

那么,asp.net Web API将来是否会接管asp.net MVC,或者每种技术都有自己的增长领域,或者我们是否应该考虑在同一个Web应用程序中使用它们?

Jup*_*aol 16

除了@jmoerdyk的答案,我想指出一些事情:

关键是要了解每种技术的目标:

  • Web API.

    这将是用于创建Web服务的新API,这是传统XML服务和WCF服务的替代方案,因此值得首先指出WEB API与其他Web服务框架之间的主要区别.

    Web API和WCF/ASMX服务之间的主要区别在于它不基于SOAP它基于HTTP因此您可以利用所有HTTP功能,例如:

    • 它包含非常有意义和描述性的消息头 - 表示消息正文的内容类型的标题,解释如何缓存信息的标题,如何保护信息等.
    • 使用动词来定义动作(POST,PUT,DELETE ..)
    • 它包含一个可用于发送任何类型内容的正文
    • 它使用URI来识别信息路径(资源)和操作

    这是Web API的主要目标,当时称为WCF Web API:通过WCF的眼睛停止查看HTTP - 仅作为传递请求的传输协议.相反,它允许我们将其视为真正的应用程序级协议 - 丰富,可互操作,面向资源的协议.Web API的目的是正确使用URI,HTTP头和主体为Web创建HTTP服务,以及希望将HTTP作为其协议和终身朋友的其他人.

    有关更多信息,请查看本文:http://www.codeproject.com/Articles/341414/WCF-or-ASP-NET-Web-APIs-My-two-cents-on-the-subjec

    因此,基本上可以将Web API与WCF或XML服务进行比较

    如果您想知道WCF将会发生什么?

    事实上,我们有太多的选择,因此太多混乱.我们该怎么办?我们合并团队!(有点让我们想起LINQ-to-SQL和实体框架,WCF和Ado.Net数据服务以及其他此类示例的时间).因此,WCF团队和ASP.NET团队联合起来,创建了一个新的框架,专注于Web世界的REST /超媒体/ HTTP服务世界,从而产生了ASP.NET Web API.

  • MVC

    既然您知道Web API的目标是什么,那么应该更容易说明为什么MVC包含主要呈现视图的附加功能.

    您的担忧是基于WEB API 实际上基于MVC的事实,但他们的目标是不同的

    另一方面,ASP.NET MVC基础架构优雅地处理HTTP请求和响应,并支持易于创建的控制器,这似乎是创建这种新型服务的正确方法


jmo*_*dyk 6

不,他们并没有真正做同样的事情.

Web API实际上仅用于生成基于REST的API的JSON,XML或其他基于文本的响应.MVC也可以这样做,但新的Web API似乎更容易,特别是在自动内容类型协商时.

Web API不适合用于生成具有视图等的完整或部分HTML页面.

因此,每个人在ASP.Net框架中都有自己的目的,不可能超越另一个.