2015-12-12 4 views
0

Я разрабатываю 2 проекта Web API, и я с помощью EnableCors атрибута, как это:Web API 2 EnableCors не работает, когда я отправляю данные с расширением DHC Chrome

Контроллер:

[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. Потому что я этого не допустил.

Что мне делать?

ответ

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); 
    } 
} 
+0

Могу ли я установить конкретные «происхождение», «заголовки» или «методы» на Owin? –

+0

Sure Ahmet, [this] (http://stackoverflow.com/questions/20079813/how-to-make-cors-authentication-in-webapi-2) поможет вам это сделать –

+0

Я пробовал, но не работает для меня. Я не могу запустить класс запуска. –