2014-01-30 106 views
0

我有一個web服務,比如說MyWebService,我需要將它託管在windows服務上,比如MyWindowsService。所以在OnStart方法MyWindowsService,我開始MyWebService。當MyWindowsService啓動時,我需要發送一條日誌消息(從MyWindowsService內)到一個監聽程序,聲明應用程序已啓動。這樣的日誌消息由LogGenerator生成。如何從託管Windows服務將對象傳遞給Web Service

MyWebService,還需要將日誌消息發送到聽衆以及當某些事件被觸發,並且這些日誌消息(來自MyWebService內發送)也由LogGenerator生成。

LogGenerator有幾個屬性需要配置。現在我面臨一些問題。

  1. 我不知道我是否需要構建一個實例的LogGenerator,在MyWindowsService配置這種情況下,然後將它傳遞給MyWebService。如果是這樣,那麼我怎麼可以從它的託管Windows服務傳遞一個對象到Web服務。或者,

  2. MyWindowsService構建的LogGenerator一個實例,然後我構建MyWebService第二個,所以我不需要任何對象傳遞給Web服務。或者,

  3. 我可以使LogGenerator及其所有屬性和方法都是靜態的,所以我根本不需要創建任何實例。如果是這樣,當我創建日誌消息時線程安全嗎?

謝謝您的任何輸入!

回答

1

您可以在啓動Web服務時使用單例模式來標識它並在Windows服務上添加事件偵聽器。當然,這隻適用於只有一個Web服務實例的情況。

相關問題