我有一個用Delphi編寫的站點,需要從.NET Web服務獲取數據。爲了使用Web服務,我首先附加到一個.NET網站,該網站包含一個終端用戶必須填寫的嚮導,然後該終端用戶將調用Web服務以填充AJAX下拉列表並將數據返回到調用的Delphi Web應用程序。如何通過IIS中的代理來防止跨域問題?
所以,要清楚......
- 德爾福網站打開.NET網站
- .NET網站填充AJAX從.NET Web服務下拉列表
- 當用戶點擊提交.NET Web嚮導調用.NET Web服務來獲取數據並返回到Delphi網站
但是調用.NET Web服務來填充下拉菜單會導致IE6(以及所有瀏覽器)將t他是一個跨域安全威脅,我得到這個頁面正在訪問不受其控制的信息。這在C#中會帶來安全風險......」的錯誤。
的下拉菜單中的代碼如下(在此情況下幫助)...
在.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>
文件
DocCategoryCascadingDropDown.ServicePath = path;
如果路徑是相同的服務器的網站它工作正常,但如果路徑不是我得到警告,因此它必須是一個跨域安全問題上。
我以前在使用Java web服務時遇到過類似的問題,並且通過在Apache上使用代理來解決此問題,以使承載嚮導的Web站點和Web服務似乎存在於同一個域中,因此停止錯誤。
任何人都可以告訴我如何在IIS中做同樣的事情嗎?
如果有任何更多信息可以提供,請讓我知道,因爲我希望儘快解決此問題。
非常感謝提前。