0

如果我有一个基于 WCF SOAP (C#) 的 Web 服务在我的本地 IIS 中运行——并且我创建了一个 ASP.net 网站,再次在我的本地 IIS 中运行——从我的网页发出 HTTP 请求调用的 javascript 会成功吗?还是同源策略规则在这里发挥作用?

4

1 回答 1

1

这取决于您的站点在 IIS 中的配置方式。查看这篇关于同源政策的维基百科文章。

假设您的 WCF SOAP 服务在http://localhost/service/GetStuff.svc上运行,而您的 ASP.NET 站点在http://localhost/mysite/Default.aspx上运行。根据同源文章中的表,调用应该成功,因为您的服务器主机在两种情况下都是相同的(本地主机),并且仅在所引用的目录上有所不同。

但是,如果您的 WCF SOAP 服务在http://localhost:8080/service/GetStuff.svc上运行并且您的 ASP.NET 站点在http://localhost/mysite/Default.aspx上运行(默认端口为 80),那么调用将失败,因为服务器主机的访问端口不同。

要考虑的三件事是主机、协议(http 或 https)和端口。根据文章,并非所有浏览器都强制执行端口。

我希望这有帮助。祝你好运!

顺便说一句,您的应用程序有效吗?

于 2010-08-10T14:57:02.113 回答