启用跨域ASP.net Web API

Jse*_*seb 22 c# asp.net asp.net-mvc asp.net-web-api

我有Microsoft Visual Studio Express 2013 for Web,版本12.0.30501.00更新2.我有一个包含2个项目的解决方案,一个是web api,第二个是用于视图的MVC项目.我创建了一个简单的web api返回httpresponsemessage,我可以进入fiddler,我会看到json响应.但是在我尝试通过ajax调用的第二个项目中,我收到了跨域错误.

我试图遵循的解决方案是http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api.但是,当Install-Package Microsoft.AspNet.WebApi.Cors -pre -project WebService在控制台管理器中安装时,我收到了一个错误,所以我使用了这一行.Install-Package Microsoft.AspNet.WebApi.Cors然后我尝试下一步就是config.EnableCors();它的状态

'System.Web.Http.HttpConfiguration' does not contain a definition for 'EnableCors' and no extension method 'EnableCors' accepting a first argument of type 'System.Web.Http.HttpConfiguration' could be found (are you missing a using directive or an assembly reference?)
Run Code Online (Sandbox Code Playgroud)

我不知道后来会发生什么,我也尝试添加,using System.Web.Http.Cors;但声明命名空间不存在.这个视觉工作室是在大约3周前下载的,我觉得这个功能不应该很难安装,因为它完全支持,有什么我缺少的东西?

Toa*_*yen 43

您应该安装Nuget包Microsoft.AspNet.WebApi.Cors

从visual studio的菜单中,转到Management Packages,然后键入包的名称

注意:
要从Package Manager控制台安装,请使用Install-Package Microsoft.AspNet.WebApi.Cors

  • 安装包Microsoft.AspNet.WebApi.Cors (2认同)

Cha*_*ati 10

安装Nuget包`"Microsoft.AspNet.WebApi.Cors"(version ="5.1.0")

在WebApiConfig.cs文件中添加以下行

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
Run Code Online (Sandbox Code Playgroud)