我需要WebApi Cors dll用于web api项目。我为.net 4框架安装了Web Api版本,因为我使用的是VS 2010.我尝试通过nuget(Install-Package Microsoft.AspNet.WebApi.Cors)安装web api cors lib,并且此错误显示为“Microsoft.AspNet。 WebApi.Client 5.1.1'。您正在尝试将此软件包安装到以“.NETFramework,Version = v4.0”为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件“ 。 是否有为Web api客户端4安装Cors的解决方法?
答案 0 :(得分:2)
仅在Web API 2中支持CORS。但是,您可以编写自己的扩展。看看Carlos Figueira的this教程。本教程不仅适用于RC版本,还适用于最终版本1。
答案 1 :(得分:1)
在需要.NET Framework 4.5和visual studio / express 2014的Web API 2中支持CORS。
它不适用于Web API 1
答案 2 :(得分:1)
对于IIS 6服务器:
要启用Microsoft IIS6的CORS,请执行以下步骤:
答案 3 :(得分:1)
如果它是EF版本4.5及更高版本,你需要先检查上面的软件包之前的EF版本,否则它会工作,否则它会回滚到EF版本4.5以下
**解决了Access-Control-Allow-Origin **问题,无需做额外的工作
您可以在 VS 2013 web express
中完成此操作using System.Web.Http.Cors;
namespace WebApplication10
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
希望这会有所帮助 谢谢
这是WebApiConfig.cs文件
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
和using System.Web.Http.Cors;
这些是您需要做的更改。 适用于Api控制器
public class ValuesController : ApiController
{
// GET api/<controller>
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
只需添加[HttpGet]属性即可设置。
答案 4 :(得分:1)
对于IIS7
将其合并到应用程序/站点根目录下的web.config文件中:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>