同一解决方案中的MVC和WebApi项目我有一个位于N层应用程序之上的MVC4项目。我现在需要能够以编程方式使用该应用程序。我在同一解决方案中创建了一个新的WebApi项目,紧挨着MVC项目,再次位于N层应用程序之上。但我不清楚这一切是如何工作的,因为MVC层是启动项目:它设置我的DI、自动播放器等,并且是我部署到服务器的项目。那么这一切应该如何设置呢?我可以设置我的MVC项目以将所有/api请求路由到新的WebApi项目吗?还是WebApi项目需要单独部署?我不想做任何非常规的事情,所以如果有更常见的设置方法,请指出正确的方向。谢谢。WebApi是Microsoft的另一个面向服务的应用程序,就像WCF一样。但是WCF使用SOAP协议,而WebAPI使用HTTP协议进行通信。因此,如果您使用WCF为MVC应用程序提供服务,您将单独托管该wcf服务并从MVC应用程序使用其服务,这与您必须单独托管WebAPI项目并为Web应用程序(MVC)提供服务的方式完全相同。出于某种原因,如果您希望在同一个项目中使用它们(MVC和WebAPI),请遵循本文中的这条规则。http://odetocode.com/blogs/scott/archive/2013/07/01/on-the-coexistence-of-asp-net-mvc-and-webapi.aspx我昨天做了同样的事情。我在同一个MVC4项目中有常规控制器和ApiControllers。您需要在GlobalAsax中为WebApi添加路由:WebApiConfig.Register(GlobalConfiguration.Configuration);看看WebApiConfig:publicstaticclassWebApiConfig{publicstaticvoidRegister(HttpConfigurationconfig){config.Routes.MapHttpRoute(name:"DefaultApi",routeTemplate:"api/{controller}/{id}",defaults:new{id=RouteParameter.Optional});不要忘记为WebApi添加Nuget包(如果您还没有)。就我而言,我没有它们,因为我的项目最初是MVC3,后来升级了。你只需要在现有的MVC站点中添加路由和API控制器,它们在site/api/会有用,需要了解更多的C#学习教程,希望大家多多关注——本文摘自上网,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
