如何对另一个域上托管的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/