相关疑难解决方法(0)

如何将Web API添加到现有的ASP.NET MVC 4 Web应用程序项目?

我希望将ASP.NET Web API添加到Visual Studio 2012中开发的ASP.NET MVC 4 Web应用程序项目中.我必须执行哪些步骤才能将正常运行的Web API添加到项目中?我知道我需要一个从ApiController派生的控制器,但这就是我所知道的.

如果我需要提供更多详细信息,请与我们联系.

asp.net-mvc asp.net-mvc-4 asp.net-web-api visual-studio-2012

361
推荐指数
7
解决办法
21万
查看次数

在Web API 2和.NET 4.5.1迁移之后,GlobalConfiguration.Configure()不存在

我最近开始按照本指南将我的项目迁移到.NET 4.5.1和Web Api 2.

MS开发人员Rick Anderson要求你做的第一件事就是改变:

WebApiConfig.Register(GlobalConfiguration.Configuration);
Run Code Online (Sandbox Code Playgroud)

GlobalConfiguration.Configure(WebApiConfig.Register);
Run Code Online (Sandbox Code Playgroud)

在global.asax文件中.然而,当我尝试构建时,这给了我一个错误:

错误1'System.Web.Http.GlobalConfiguration'不包含'Configure'的定义

我的项目目前是MVC 5和Web Api 2和.NET 4.5.1,但我认为System.Web.Http仍然认为它是.NEt 4.0版本.

我该怎么办呢?

谢谢.

编辑:

这是我的程序集绑定:

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31BF3856AD364E35" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
  <!--
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
  </dependentAssembly> -->
</assemblyBinding>
Run Code Online (Sandbox Code Playgroud)

顶部评论后评论的所有内容都因为我收到了错误:

警告2发现无法解析的同一依赖程序集的不同版本之间发生冲突.当日志详细程度设置为详细时,这些引用冲突将在构建日志中列出.

并且摆脱硬绑定正在解决这个问题.

c# asp.net-4.5 asp.net-web-api asp.net-mvc-5

143
推荐指数
6
解决办法
15万
查看次数

MVC解决方案中的Web API在单独的项目中

我正在创建一个新的MVC4项目,研究让我相信现在通过Web API框架而不是控制器操作可以更好地实现从javascript到服务器端的通信.我的理解是否正确?

我假设我可以在Web API和MVC控制器之间共享所有属性等,所以面对它,对我来说似乎不是一个巨大的变化.

在设置应用程序时,我喜欢将组件拆分到项目中.我的计划是拥有一个MVC项目和一个Web API项目.但我遇到了问题.例如,我最终有2个应用程序,单独的路由设置等.

所以我的问题是,在MVC应用程序中,Web API框架应该位于同一个项目中,还是应该将Web API分离为自己的项目并解决问题?

c# asp.net-mvc asp.net-mvc-4 asp.net-web-api

87
推荐指数
5
解决办法
5万
查看次数

将Web API添加到现有MVC Web应用程序后出现404错误

这里有一个很好的问题: 如何将Web API添加到现有的ASP.NET MVC 4 Web应用程序项目中?

不幸的是,这还不足以解决我的问题.我已经尝试了两次,以确保我没有做错任何事.我右键单击"控制器"并添加了项目"Web API 2 Controller with actions,using Entity Framework",其中我选择了我的模型类和db上下文.一切都很顺利...但仍然...每次我试图访问/ api/Rest我得到404错误(我的控制器的名称是RestController).

c# asp.net rest asp.net-mvc asp.net-web-api

60
推荐指数
2
解决办法
4万
查看次数