59

我添加了一个新的 Web API 项目。我安装 Cors

PM> Install-Package Microsoft.AspNet.WebApi.Cors -Pre

然后当我运行我的项目时,我得到了这个错误:

'System.Web.Http.GlobalConfiguration' 的类型初始化程序引发了异常。

这是我内心的例外:

{“尝试通过方法 'System.Web.Http.GlobalConfiguration..cctor()' 访问字段 'System.Web.Http.GlobalConfiguration.CS$<>9__CachedAnonymousMethodDelegate2' 失败。”}

4

3 回答 3

100

我遇到了同样的问题,并找到了一篇关于它的博客文章。根据此博客文章,如果您使用候选发布版,它应该修复错误

Install-Package Microsoft.AspNet.WebApi -IncludePrerelease

从这里:http ://wp.sjkp.dk/webapi-and-cors-enabled-rest-services/

这对我有用:D

换句话说,它是在5.1.0-rc1发布时修复的。

于 2013-10-14T14:24:49.157 回答
40

我在使用 NET 4.6.1 时遇到了这个问题,经过数小时的研究,从 web.config 中删除了这个问题,最终解决了这个问题:

<runtime>
<dependentAssembly>
     <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
     <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
   </dependentAssembly>
</runtime>
于 2017-02-07T03:14:44.087 回答
1

我有同样的问题。绝对“Cors”对我不起作用!

我为解决 WebApi 中的跨域问题所做的工作是删除 Cors 并更改我的 web.config

如果您在 web.config 中插入以下行,您将拥有一个启用跨域的 WebApi。

<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" /> </customHeaders> </httpProtocol> </system.webServer>

于 2015-04-17T14:30:09.993 回答