2010-08-10 120 views
0

如果我有一个基于WCF SOAP(C#)的Web服务在我的本地IIS中运行 - 并且我制作了一个ASP.net网站,再次在我的本地IIS中运行 - 将使得HTTP请求调用从我的网页获得成功?或者是否有相同的原产地政策规则在这里发挥作用?同源策略和Web服务

回答

1

这取决于您的网站在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)和端口。根据文章,并非所有浏览器都强制执行端口。

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

顺便说一句,你的应用程序的工作?

+0

感谢那个D Hoerster - 我已经设法让我的JavaScript调用我的web服务并返回xml给我。所以我非常高兴 - 他们确实共享相同的主机和协议 - 不确定端口,但我怀疑他们是一样的。 – Vidar 2010-08-10 16:00:22

+0

很高兴能帮到你! – 2010-08-10 16:08:29