【发布时间】:2011-03-27 17:32:43
【问题描述】:
如果我有一个基于 WCF SOAP (C#) 的 Web 服务在我的本地 IIS 中运行 - 我创建了一个 ASP.net 网站,再次在我的本地 IIS 中运行 - 从我的网页发出 HTTP 请求调用的 javascript 会成功吗?还是同源策略规则在这里发挥作用?
【问题讨论】:
标签: wcf web-services same-origin-policy
如果我有一个基于 WCF SOAP (C#) 的 Web 服务在我的本地 IIS 中运行 - 我创建了一个 ASP.net 网站,再次在我的本地 IIS 中运行 - 从我的网页发出 HTTP 请求调用的 javascript 会成功吗?还是同源策略规则在这里发挥作用?
【问题讨论】:
标签: wcf web-services same-origin-policy
这取决于您的站点在 IIS 中的配置方式。查看此维基百科article 的同源政策。
假设您的 WCF SOAP 服务在 http://localhost/service/GetStuff.svc 上运行,而您的 ASP.NET 站点在 http://localhost/mysite/Default.aspx 上运行。根据同源文章中的表格,调用应该成功,因为您的服务器主机在两种情况下都是相同的(localhost),并且仅在所引用的目录上有所不同。
但是,如果您的 WCF SOAP 服务在 http://localhost:8080/service/GetStuff.svc 上运行,并且您的 ASP.NET 站点在 http://localhost/mysite/Default.aspx 上运行(默认端口为 80),那么调用将失败,因为服务器主机的访问端口不同.
要考虑的三件事是主机、协议(http 或 https)和端口。根据文章,并非所有浏览器都强制执行端口。
我希望这会有所帮助。祝你好运!
顺便说一句,你的应用程序有效吗?
【讨论】: