如何对另一个域上托管的WCF服务进行JavaScript调用?
时间:2020-03-06 14:55:36 来源:igfitidea点击:
我们正在设计使用ASP.NET和AJAX的Web应用程序,我们希望将WCF服务层托管在其他网站上,并从客户端页面对服务层进行JavaScript调用。我们了解,浏览器将不允许AJAX调用到其他端口或者域。架构解决方案的最佳方法是什么?我们正在考虑使用代理层,将服务托管在与客户端相同的域上,该客户端具有对该服务层的Web引用。有更好的解决方案吗?
解决方案
通常最好限制页面访问的域数量。服务器端代理确实是一个好方法。
我认为最好的方法是调用一个本地页面,该页面调用远程资源并返回结果。这样,我们可以避免跨域问题
- 我们可以在相同的域但不同的文件夹下对服务和网站进行虚拟托管。
- 在不同的dll中定义服务,并在网站中创建svc文件,然后将svc文件指向具有服务的dll
- 服务器端代理。
负载均衡器可以将所有请求发送到/ service到服务服务器。
如果没有负载平衡器,则可以让Web服务器充当服务服务器的反向代理。如果我们使用的是IIS7,则可以通过"应用程序请求路由"模块执行此操作。
原型对此有一个插件。问题出在客户端而不是服务器上。 www.mellowmorning.com/2007/10/25/introducing-a-cross-site-ajax-plugin-for-prototype/