我有点困惑。当我得知WebAPI是微软最新的ASP.net技术时,我已经很恼火了,并问自己是否应该继续使用ASP.net。
从我今天的研究中我了解到,WebAPI是为需要纯基于Http的API的解决方案而设计的,这些API将数据提供给其他应用程序而不是浏览器。而且它没有HTML渲染引擎。因此,对于必须呈现大量HTML页面的解决方案,MVC是不错的选择。
我还读到了Web开发,它与MVC并行不悖,代表着MVC本身。
不,今天在启动Visual Studio时,我第一次读到MVC4的一个新特性是WebAPI:
Web API现在是MVC不可或缺的一部分吗?MVC控制器可以在同一个应用程序中直接与Web API控制器混合使用吗?我在一篇博客文章中读到,如果你在一个项目中使用WebAPI和MVC,你最终会得到重复的代码。现在还是这样吗?
最佳托马斯
发布于 2012-11-24 02:26:00
Web API与MVC 4捆绑在一起,可以单独使用,也可以与MVC结合使用。集成周围有一些粗糙的边缘,但没有什么非常痛苦的。
发布于 2014-03-11 00:10:10
答案是肯定的!WebAPI拥有来自MVC设计模式的“模型”和“控制器”。但是“视图”在哪里呢?
如果您创建一个新的WebAPI项目,visual studio将创建一个默认的HomeController,它是ASP.NET MVC标准控制器,并且它还将添加一个带有Index.cshtml视图的索引操作。它的工作方式是这样的,这样您就能够托管您的WebAPI服务以对其进行测试。在WCF中,visual studio为此启动了WCF测试客户端。
如果没有视图,就没有办法测试我们的服务,除非它们托管在IIS上。
WebAPI还使用相同的路由引擎和更多的服务器端特性,如ASP.NET MVC。
发布于 2012-11-26 05:36:31
MVC与ASP.NET ASP.NET没有任何关系。该团队将ASP.NET Web API放在与ASP.NET MVC4相同的MSI安装程序中,这是一个错误。这就是所有的困惑开始的地方,但团队意识到了AFAIK的困惑。
ASP.NET Web API独立存在,它甚至不直接依赖于System.Web。看看这篇文章:
ASP.NET Web API does not Sit on Top of ASP.NET MVC! In Fact, It does not Sit on Top of Anything
https://stackoverflow.com/questions/13532427
复制相似问题