如何对托管在不同域上的 WCF 服务进行 JavaScript 调用?
我们正在使用 ASP.NET 和 AJAX 设计一个 Web 应用程序,我们希望将 WCF 服务层托管在不同的网站上,并从我们的客户端页面对服务层进行 JavaScript 调用。 我们知道浏览器不允许 AJAX 调用不同的端口或域。 构建解决方案的最佳方法是什么? 我们正在考虑使用代理层,其服务托管在与客户端相同的域上,客户端具有对服务层的 Web 引用。 有更好的解决方案吗?
We are designing a web application using ASP.NET and AJAX and we want to host our WCF Service Layer on a different website and make JavaScript calls to the Service Layer from our client pages. We understand that the browser will not allow AJAX calls to a different port or domain. What is the best way to architect a solution? We are considering using a proxy layer with services hosted on the same domain as the client which has a web reference to the service layer. Is there a better solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
通常最好限制页面访问的域数量。 服务器端代理确实是一个好方法。
It's generally best to limit the number of domains accessed by your page. A server-side proxy is really a good way to go.
我认为最好的方法是调用本地页面,该页面调用远程资源并返回结果。 这样就可以避免跨域问题
i think the best way is to call a local Page which call remote resource and returns result. in this way, you avoid cross domains problems
服务和网站相同
域但文件夹不同。
dll 并在您的中创建 svc 文件
网站并将 svc 文件指向
具有服务服务器端代理的 dll
service and website under same
domain but different folder.
dlls and create svc files in your
websites and point the svc files to
the dll which has the services
您的负载均衡器可以将所有对 /service 的请求发送到您的服务服务器。
如果您没有负载均衡器,您可以让您的网络服务器充当服务服务器的反向代理。 如果您使用的是 IIS7,则可以使用 应用程序请求路由模块。
Your load balancer could send all request to /service to your service server.
If you don't have a load balancer, you can have your webserver act as a reverse proxy to your service server. If you are using IIS7, you can do this with the Application Request Routing module.
Prototype 有一个用于此目的的插件。 问题出在客户端而不是服务器。 www.mellowmorning.com/2007/10/25/introducing-a-cross-site-ajax-plugin-for-prototype/
Prototype has a plug in for this. The issue is on the client not the server. www.mellowmorning.com/2007/10/25/introducing-a-cross-site-ajax-plugin-for-prototype/