2012-11-12 48 views
0

我目前有幾個C#服務實現類,每個實現類都實現了幾個服務契約接口。每個服務實現類位於不同的地址,但其所有服務合約接口都位於同一地址。多個WCF服務實現在一個地址?

想要使用來自多個服務的接口的客戶端當前需要了解多個地址。

我想知道是否有可能有幾個實現類共享一個地址。例如,目前,客戶端可能會連接到Browse.svc,Data.svc,Report.svc等。我可以重新配置,以便客戶端只需要訪問Service.svc?

在我看來,SOAP Action爲WCF提供了一種方法來告訴它應該指示哪個服務實現類請求,所以這可能是可能的。

我真的不想把我所有的實現都打入一個大的服務類。

以下Microsoft文章討論了這類事情,但似乎沒有解決多個服務實現類的問題。

http://msdn.microsoft.com/en-us/library/aa395210.aspx

回答

0

如果你想一個服務,可以對多個服務請求作出迴應。看看http://davybrion.github.com/Agatha/

這是WCF的請求/響應模式的實現。

+0

我試圖瞭解阿加莎在幾分鐘內的情況並不成功。也許我需要更努力;-) 但是,如何RoutingService?這是同一種事情還是不同的? http://msdn.microsoft.com/en-us/library/ee517423.aspx – PeteAC

+0

使用路由服務,您將保留所有端點併爲您的路由服務創建一個新端點。通過Agatha,您擁有一個端點,所有服務電話都將收到一個處理。路由服務中服務聚合的目標與Agatha相同。但阿加莎以請求/響應的方式工作。兩者各有利弊 –

+0

好的謝謝,我會看看兩者。 – PeteAC