Как предотвратить междоменные проблемы с помощью прокси в IIS?
-
06-07-2019 - |
Вопрос
У меня есть сайт, написанный на Delphi, который должен получать данные из веб-службы .NET. Чтобы использовать веб-службу, я сначала присоединяюсь к веб-сайту .NET, который содержит мастер, который должен заполнить конечный пользователь, который, в свою очередь, затем вызывает веб-службу для заполнения раскрывающихся списков AJAX и вернуть данные в вызывающее веб-приложение Delphi.
Итак, чтобы быть ясным ...
<Ол>Однако вызов веб-службы .NET для заполнения раскрывающихся списков приводит к тому, что IE6 (и даже все браузеры) воспринимают это как междоменную угрозу безопасности, и я получаю " Эта страница получает доступ к информации, которая не находится под ее контролем. Это создает угрозу безопасности ... " ошибка.
Код для раскрывающихся списков следующий (на случай, если это поможет) ...
В файле .apsx
<asp:DropDownList ID="DocCategoryDropDown"
runat="server"
OnSelectedIndexChanged="DocCategoryDropDown_SelectedIndexChanged"
AutoPostBack="true">
</asp:DropDownList>
<ajaxToolkit:CascadingDropDown ID="DocCategoryCascadingDropDown"
runat="server"
TargetControlID="DocCategoryDropDown"
LoadingText="[Loading...]"
Category="CategoryId"
UseContextKey="True"
ContextKey="NY"
PromptText="Select a Category"
ServiceMethod="GetDocCategory"
ServicePath="tba">
</ajaxToolkit:CascadingDropDown>
в файле C #
DocCategoryCascadingDropDown.ServicePath = path;
Если путь находится на том же сервере, что и веб-сайт, он работает нормально, но если путь не указан, я получаю предупреждение, поэтому это должно быть проблемой безопасности между доменами.
У меня раньше были похожие проблемы с веб-сервисами Java, и я решил эту проблему, используя прокси-серверы на Apache, чтобы веб-сайт, на котором размещены мастер и веб-служба, существовал в одном домене и поэтому прекратил ошибки.
Может кто-нибудь сказать мне, как я могу сделать то же самое в IIS, пожалуйста?
Если есть какая-либо дополнительная информация, которую я могу предоставить, пожалуйста, дайте мне знать, поскольку я действительно хотел бы решить эту проблему, как только смогу.
Заранее большое спасибо.
Решение
Хорошо, после долгих поисков (и скрежета зубов) я нашел этот сайт, который хорошо объясняет решение проблемы.
http://dotnetslackers.com/columns/ajax/MashitUpwithASPNETAJAX.aspx р>
Просто покажу, как важно знать, как задать правильный вопрос:)