使用DHC Chrome扩展程序发布数据时,Web API 2 EnableCors无效

时间:2015-12-12 09:23:30

标签: asp.net google-chrome cors asp.net-web-api2 dhclient

我正在开发一个Web API 2项目,我使用这样的EnableCors属性:

控制器:

[EnableCors(origins: "http://localhost:32454, http://localhost:25234", headers: "*", methods: "POST")]

WebApiConfig:

config.EnableCors();

的Web.config:

  <system.webServer>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>

当我通过DHC Chrome扩展程序将数据发布到我的Web API时,我的控制器工作正常。但是,我设置了两个起源。我不想通过DHC访问我的Web API。因为,我没有允许它。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我通常使用Owin和Web Api,这应该解决:

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        var config = new HttpConfiguration();

        WebApiConfig.Register(config);
        ConfigureOAuth(app);
        app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
        app.UseWebApi(config);
    }
}