WebApi cors for runtime 4.0



我需要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

相关内容

最新更新