Веб-API 2 EnableCors не работает, когда я публикую данные с расширением DHC Chrome

Я занимаюсь разработкой проекта 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>

Когда я отправляю данные в мой Web API через расширение DHC Chrome, мой контроллер работает нормально. Но я поставил два источника. Я не хочу получать доступ к своему веб-API через DHC. Потому что я этого не допустил.

Что я должен делать?

1 ответ

Решение

Я обычно использую 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);
    }
}
Другие вопросы по тегам