我需要WebApi Cors dll for web api project。我为.net 4框架安装了Web Api版本,因为我使用VS 2010。我尝试通过nuget(安装包Microsoft.AspNet.WebApi.Cors)安装web api cors lib,此错误显示为"Microsoft.AspNet.WebApi.Client 5.1.1"。您正在尝试将此包安装到面向".NETFramework,Version=v4.0',但该包不包含任何与该框架兼容的程序集引用或内容文件"。是否有解决方法可以为 Web api 客户端 4 安装 Cors?
CORS 仅在 Web API 2 中原生受支持。但是,您可以编写自己的扩展。看看卡洛斯·菲盖拉的本教程。本教程不仅适用于 RC 版本,也适用于最终版本 1。
您需要在停止上述软件包之前检查 EF 版本,如果它是 EF 版本 4.5 及更高版本,那么它可以工作,否则它会回滚到 EF 版本 4.5 以下
并且**访问控制允许来源**问题得到解决,无需做额外的工作
你可以在VS 2013网络快递中做到这一点
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] 属性即可设置好。
CORS 在需要 .NET Framework 4.5 和 Visual Studio/Express 2014 的 Web API 2 中受支持。
它不适用于 Web API 1
对于 IIS 6 服务器:
若要Microsoft IIS6 启用 CORS,请执行以下步骤:
- 打开互联网信息服务 (IIS) 管理器
- 右键单击要为其启用 CORS 的站点,然后转到"属性"
- 更改为"HTTP 标头"选项卡 在自定义 HTTP 标头部分中,单击添加
- 输入访问控制允许源作为标头名称
- 输入 * 作为标头值
- 单击"确定"两次
http://enable-cors.org/server_iis6.html
对于 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>
来源于 W3