WebApi cors for runtime 4.0

时间:2014-03-03 09:48:50

标签: asp.net .net asp.net-web-api cors

我需要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的解决方法?

5 个答案:

答案 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,请执行以下步骤:

  • 打开Internet信息服务(IIS)管理器
  • 右键单击要为其启用CORS的站点,然后转到“属性”
  • 更改为“HTTP标头”选项卡在“自定义HTTP标头”部分中,单击“添加”
  • 输入Access-Control-Allow-Origin作为标题名称
  • 输入*作为标题值
  • 单击“确定”两次

http://enable-cors.org/server_iis6.html

答案 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>

sourced from w3