Веб-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);
}
}