我有 Microsoft Visual Studio Express 2013 for Web,版本 12.0.30501.00 Update 2。我有一个包含 2 个项目的解决方案,一个是 Web API,第二个是用于 View 的 MVC 项目。我创建了一个返回 httpresponsemessage 的简单 web api,我可以进入 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?)
我不确定之后要做什么,我也尝试添加 using System.Web.Http.Cors;
但声明命名空间不存在。这个 visual studio 是大约 3 周前下载的,我觉得这个功能应该不难安装,因为它完全受支持,我是否遗漏了什么?
最佳答案
你应该安装一个 Nuget 包 Microsoft.AspNet.WebApi.Cors
从 visual studio 的菜单中,转到 Management Packages,然后输入包的名称
注意:
要从 Package Manager Console 安装,请使用 Install-Package Microsoft.AspNet.WebApi.Cors
关于c# - 启用跨域 ASP.net Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746034/