我有一个用 Delphi 编写的网站,需要从 .NET Web 服务获取数据。为了使用 Web 服务,我首先附加到一个 .NET 网站,其中包含最终用户必须填写的向导,然后调用 Web 服务以填充 AJAX 下拉列表并将数据返回给调用 Delphi Web 应用程序。
所以,要明确...
- Delphi 网站打开 .NET 网站
- .NET 网站从 .NET Web 服务填充 AJAX 下拉列表
- 当用户在 .NET Web 向导上单击提交时,它会调用 .NET Web 服务来获取数据并返回到 Delphi 网站
但是调用 .NET Web 服务来填充下拉列表会导致 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 Web 服务方面遇到过类似的问题,我通过在 Apache 上使用代理解决了这个问题,以使托管向导和 Web 服务的网站看起来存在于同一个域中,从而停止错误。
谁能告诉我如何在 IIS 中做同样的事情,好吗?
如果我可以提供更多信息,请告诉我,因为我真的很想尽快解决这个问题。
提前谢谢了。