2009-07-27 79 views
1

我目前正在使用一个Silverlight客户端,利用一个Web服务器和一个应用程序服务器。通过Service.svc代理重定向连接

大部分的用户坐我们的防火墙之内,所以他们没有访问WCF服务的应用服务器上运行(通过Service.svc文件)的任何问题。

然而,一些用户会坐在我们的防火墙之外,并只能访问到Web服务器,而不是应用程序服务器(其中WCF服务)。

我希望有人可以告诉我,如果有方法让客户端通过Web服务器在应用程序服务器上使用WCF服务,而无需在Web服务器上重写WCF服务,并且只通过中继来调用该服务器。

我希望这是什么,我需要一个足够清晰的描述。

谢谢

回答

3

听起来像你想要的是路由器服务。不幸的是,WCF没有内置任何内容(至少在.NET 4.0及其RoutingService之前)。通过构建一个特定的一次性路由服务(即,您实现相同的合同并手动将每个操作转发到防火墙内的服务),或者通过构建通用的可重用路由服务。

如果您选择第二个选项,couplearticles可能会帮助您入门。

0

而不是让你的Silverlight客户端直接通过Web服务器上的代理服务访问应用服务器,路由所有请求。

这方面的一个例子是“Cross Domain Proxy”的模式。