Тут ви знайдете кілька способів увімкнення CORS у різних сферах: http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api
У будь-якому випадку у мене була та сама проблема, і, додаючи заголовки різними способами, я не отримав повного рішення.
Я з’ясував, що IIS використовує обробники, які замінюють конфігурацію веб-програми CORS, якщо ви не вказали протилежне.
У моєму випадку мені також довелося видалити використання обробників IIS, додавши таку конфігурацію в основну 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>
Майте на увазі, що ця конфігурація може бути встановлена за замовчуванням під час створення нового проекту в залежності від його типу, але якщо ви починаєте з нуля, вам, ймовірно, доведеться додати цю конфігурацію.