asp.net-mvc - ASP.net Web API和System.Net.Http

标签 asp.net-mvc asp.net-web-api

遵循本文中的示例:http://blogs.msdn.com/b/yaohuang1/archive/2012/05/21/asp-net-web-api-generating-a-web-api-help-page-using-apiexplorer.aspx

我已经设置了所有内容来为我的Web API项目提供文档,但是我遇到了一个问题。当我尝试使用@api.HttpMethod时,我得到了错误,他在本文中途描述了这一点。他说您必须在web.config中手动添加对System.Net.Http,Version = 2.0.0.0程序集的引用(即使默认情况下它位于References文件夹中),但是如果您遵循他的示例以传统方式添加程序集, web.config .....中的标记,那么您会发现它不再是4.5中的有效标记,并且所有操作都通过AssemblyRedirects完成。我尝试了一下,但无济于事。是否有人遇到此问题或知道如何帮助更改web.config?我错过了一次 session 吗?

Visual Studio 2012
MVC4 Web API项目(不是来自Nuget,VS2012附带的最终版本)

最佳答案

<system.web>节点下的Web.config文件中添加以下配置(假设您的应用程序在.NET 4.5上运行,targetFramework属性设置为4.5):

<compilation targetFramework="4.5">
  <assemblies>
    <add assembly="System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </assemblies>
</compilation>

还要在根目录下的<configuration>节点下添加以下内容:
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" />
      <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

这应该可以解决您的问题。

关于asp.net-mvc - ASP.net Web API和System.Net.Http,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12865477/

相关文章:

c# - 使用 UpdateModel() 时如何消除服务器端清理的重复代码?

jquery - URL 重定向后图像和 CSS 链接断开

c# - AspNetCore.Mvc.Core 版本不匹配

javascript - 使用 Angular Js 从 API 获取 Json 数据

.net - WebApi 中的条件 DataContract 序列化

asp.net-mvc - 为什么模型绑定(bind)在我的 POST 操作方法中不起作用?

mysql - 使用 Identity 从同一数据库检索数据

css - 关闭按钮的CSS位置

asp.net-mvc - 遵循最佳编程实践的 Asp.Net Mvc 应用程序所需/推荐的所有层的分割是什么?

rest - ASP.NET Web API身份验证选项