2011-04-13 35 views
0

我對WCF很新,所以這可能是一個愚蠢的問題,但我想知道是否有一種方法來配置WCF服務,以便它「攔截」調用另一臺機器。基本上,我希望在MachineA上執行一個調用(通過瀏覽器),例如:「http:// MachineB/MyService」,以實際在MachineA上處理(假設我的服務正在MachineA上運行)。用於本地WCF服務的另一臺機器的攔截調用

這個想法是,如果用戶有而不是安裝了服務,該調用「通過」到MachineB,他們將能夠安裝它。然而,一旦它被安裝,MachineA就會捕獲所有這些後續調用並處理它們。

我可以完全看到這是不是可行的(沒有,例如,黑客機的主機文件),但我希望也許有一些WCF的魔力,我不知道這可以使這種情況下?

回答

2

這聽起來像WCF RoutingService的用例described in this article.它是WCF的一部分,所以除非你想添加自定義行爲,否則你只需要創建& deploy config文件。我們添加了一個自定義日誌記錄行爲,以便連接到現有的日誌記錄基礎結構中,以排除潛在的通信問題,但是如果您依賴WCF跟蹤,則甚至不需要該行爲。

0

Sixto的路由解決方案更加優雅,但如果您使用的是4.0以前版本的框架版本,則客戶端或調度端的消息檢查器或調度端的錯誤處理器可能會「伸展「解決方案(他們會讓jbo完成,但不是理想的方式)。請參閱extremely long articlethis article,其中討論了消息檢查器和錯誤處理程序;這是一個很好的起點,可以弄清楚這些選擇對你有用。