2014-01-16 83 views
1

我是WCF編程的新手。 這是我需要:從Windows服務WCF主機調用WCF操作

  1. 的Windows服務承載WCF服務。 (完成)
  2. 客戶端應用程序可以從正在運行的Windows服務(完成)調用WCF服務操作(如GetValue())
  3. Windows服務需要在Windows服務時從WCF服務調用操作Start()開始。 (2)中的應用程序無法首先調用Start()操作的Windows服務檢索數據。 (未完成)

一旦PC啓動,Windows服務需要啓動。然後它應該開始記錄一些數據。用戶可以隨時運行客戶端應用程序來檢索記錄的數據。

但是,我無法執行自動日誌記錄部分,因爲客戶端是調用WCF服務構造函數的人。這不能在Windows服務的OnStart()方法內完成。

有沒有辦法從Windows服務的Onstart()方法調用WCF操作?

回答

0

因爲 - 如果你沒有配置它 - 在每次來自客戶端的調用時創建一個新的WCF服務類實例,你自己也可以創建一個新的類實例並調用你的方法。從您的服務角度來看,這只是一個普通的課程。

如果您可以詳細說明Start中所做的工作,這將會非常有幫助。

+0

我不認爲我理解。我想如果我創建一個WCF服務的實例,2個不同的客戶端將訪問同一個實例。 – gemini

+0

不可以。甚至不保證同一個客戶端在執行兩個不同的函數調用時將訪問相同的實例。你*可以*配置WCF的行爲像這樣(會話/單例模式),但默認情況下不是這樣。 –

+0

好的,我嘗試了不同的客戶端,你是對的。也許我沒有使用WCF的目的。我需要運行不同的客戶端應用程序來訪問服務中的相同數據。 – gemini