Итак, я пытаюсь создать службу CEST WCF REST, которая вызывается jQuery.Я обнаружил, что jQuery требует, чтобы вызовы AJAX выполнялись в соответствии с той же политикой происхождения.У меня есть несколько вопросов о том, как мне поступить.
Я уже в курсе;
1. Хакерское решение JSONP с обратным вызовом сервера
2. Слишком большая нагрузка на сервер из-замеждоменный прокси.
3. Использование Flash в браузере для вызова и настройка crossdomain.xml в корневом каталоге моего WCF-сервера.
Я бы не хотел использовать их, потому что
1. Я не хочу использовать JSON, или, по крайней мере, я не хочу ограничиваться его использованием
2. Я хотел бы отделить сервер, который обслуживает статические страницы, от сервера, который обслуживает состояние приложения.
3. Про Flash в наше время не может быть и речи.
О чем я думаю: есть ли что-нибудь похожее на файл crossdomain.xml, который работает для jQuery?Является ли эта политика «того же происхождения» частью jQuery, или это ограничение в определенных браузерах?Если это просто часть jQuery, возможно, я попытаюсь покопаться в коде, чтобы обойти его.
Редактировать:
У Шреддда все получилось, см. Ниже.Чтобы сделать это в C #, я создал следующий метод, который должны вызывать все ваши сервисные методы:
private void BypassCrossDomain()
{
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Origin", "*");
}
Важно отметить, что это допускает атаки с использованием межсайтовых сценариев, и вы также не можете использовать "* "когда вам нужно отправить сторонние куки с вашим запросом.