2009-07-27 81 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」的模式。