Web API 2 当我 post 具有 DHC Chrome 扩展名的数据时 EnableCors 不工作

Web API 2 EnableCors not working when I post data with DHC Chrome extension

我正在开发 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。因为,我不允许。

我该怎么办?

我通常将 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);
    }
}