2012-04-18 82 views
2

我想創建一個服務,其任務是監視在同一進程中運行的其他服務,然後報告基本信息,如健康狀況或服務依賴性。我無法找出讓我的監控服務訪問有關其他服務的詳細信息的最佳方式,而無需讓每個服務發佈其元數據或公開其監控服務可以與之通信的一些自定義端點。如果我加載配置,並通過它讀取,我可以得到最那裏的方式,但這種方法也有幾個缺點:WCF服務可以訪問在同一進程中運行的其他ServiceHosts嗎?

  • 獲取絕對URI爲每個端點是很困難的, 特別是使用IIS託管或fileless時激活。
  • 這是編程方式將無法在任何配置,由監控服務

讀我想什麼,能夠做的就是以某種方式訪問​​和serviceDescription得到我需要有關的所有信息每個ServiceHost,而不需要服務設計師的任何工作給我。是這樣的可能嗎?

+0

如果你展示瞭如何配置宿主環境以使當前服務在同一進程中運行,這將有所幫助。 – 2012-04-18 14:52:05

+0

也許我的術語不太對。 「在同一個過程中」是指配置爲託管在同一個Windows服務或Web應用程序內的服務。您將在'system.serviceModel/services'中定義的每個服務。 – mclark1129 2012-04-18 15:13:39

回答

1

如果您檢查Channs links並確信你需要推出自己的健康監測的基礎設施,你可能需要無論是從ServiceHost派生或全力以赴,從ServiceHostFactoryBase得到或可能做到既取決於你需要什麼執行。他們會讓您訪問每個服務的ServiceDescription實例,因爲它正在啓動。

相關問題