CORS и IIS - существуют ли стандартные средства ?

294
05 января 2017, 04:40

Возникла необходимость выполнять кроссдоменный запрос к приложению, поднятому на IIS на другом домене. Нужно обращаться к веб-сервису. При кроссдоменном запросе браузер перед GET или POST запросами выполняет запрос OPTIONS (где указывает домен, откуда идет обращение - ORIGION и некоторые другие детали). Сервер на options должен ответить заголовками Access-Control-Allow-Credentials': true,'Access-Control-Allow-Origin:домен, Access-Control-Allow-Methods:...... , Access-Control-Allow-Headers:.... Код ответа должен быть 200 ок, тело пустое. Далее браузер отправляет свое get, post или что-нибудь еще..

Проблему с заголовками решил, добавив в web.config <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="мой-домен" /> ***** и прочите заголовки**** </customHeaders>

Заголовки нормально ходят, но при options запросе вместо 200 ok , получаем 405 Method not allowed. IIS не понимает, что на options он должен ответить пустым телом и кодом 200 ок.

Можно ли как-нибудь нормально включить в IIS поддержку CORS? Или нужно писать перехватчик запросов? Если нужно писать,то что лучше применить? httpmodule?

P.S разворачиваем приложение на разных IIS от 7 до 10.

READ ALSO
DataRow[] + расширение LINQ

DataRow[] + расширение LINQ

Есть массив строк DataRow[] datarowsОдна из колонок имеет имя Sum

375
Авторизация по токену в ASP.NET WEB API

Авторизация по токену в ASP.NET WEB API

Всем привет! Занимаюсь написанием API для курсовой работыВыбор пал на Azure и ASP

431
Не могу обратиться к классу в c#

Не могу обратиться к классу в c#

Написал программу каталогизатор, прописывал все прямо в теле обработчиков событийНо препод наругал, сказал, что все должно быть красиво,...

326