Пустой web.api проект, установить Microsoft.aspnet.webapi.cors 5.2.3, добавитьWeb API 2 CORS IIS Экспресс Debug и No Access-Control-Allow-Origin заголовок
config.EnableCors();
к webapiconfig. сделать контроллер и действие
public class HomeController : ApiController
{
[EnableCors("*" , "*" , "*")]
public async Task<string> Get()
{
return await Task.FromResult("omg");
}
}
отладки приложений и загрузить скрипач и сделать запрос на http://localhost:61939/api/Home
нет заголовков CORS присутствует. 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>
что мне не хватает? Почему это не вставляет заголовок Access-Control-Allow-Origin во весь запрос в метод Get?
Также ответ определения CORS в web.config не ответ ... В какой-то момент мне нужно будет добавить проверку происхождения и потенциально даже проверять HTTP метод что-то вроде:
if(requestContext.HttpMethod == "POST" && (origin == "https://someplace.com" || origin == "http://localhost"))
Я не уверен, что я следую, я не использую Owin (app.UseCors) –
К сожалению, я не заметил, что это не с помощью трубопроводов .I've отредактированных ответа, есть еще один вид – akazemis
Ваше полное право, это все, что мне не хватало, большое вам спасибо! –