我正在创建一个新的MVC4项目,并且研究让我相信从JavaScript到服务器端的通信现在可以通过Web API框架而不是控制器操作更好地实现。我的理解是否正确?单独项目中的MVC解决方案中的Web API
我假设我可以在Web API和MVC控制器之间共享我的所有属性等,所以在面对它时,它对我来说似乎并不是一个巨大的改变。
当我设置应用程序时,我喜欢将组件分解到项目中。我的计划是有一个MVC项目和一个Web API项目。但是我遇到了问题。例如,我已经结束了2个应用程序,分开的路由设置等等。
所以我的问题是,在MVC应用程序中,应该将Web API框架放在同一个项目中,还是应该将Web API分开纳入自己的项目并解决问题?
+1优秀的答案。我最初认为MVC和WebAPI可能会共享一些代码,特别是在过滤器,模型绑定等情况下,但它们完全不同。 – VJAI
感谢您的详细回复。我正在使用mvc控制器创建一个新的Web应用程序来为我的视图提供内容。我的计划是使用web api来处理来自我的客户端js(网站包含一些丰富的功能)通过web api到服务器的通信。一些第三方正在构建网站的组件,这些组件将被集成到网站中,并将使用Web API与服务器进行通信。所以从我阅读的内容来看,对于这样的设置,您的建议是在一个项目中使用mvc还是web api?也许有一个“api”文件夹中的web api。 – amateur
是的,在这种情况下,只需在Visual Studio中启动一个新的MVC4项目,并在提示输入项目模板(第二个屏幕)时选择Web API。这将从Nuget安装Web API,并且在你描述的情况下应该是完全正确的。你得到的是单独的Web API配置文件插入Global.asax。此外,您可能希望将API控制器分为单独的文件夹(默认情况下,它们与MVC控制器一起)。最后,默认路由显然是单独配置的,不会互相干扰 –