我試圖訪問由我的WCF服務創建的單例實例,但即使在ServiceHost
上調用.Open
後,.SingletonInstance
似乎仍爲空。是否有可能在第一個WCF客戶端請求進來之前獲取對WCF ServiceHost單例實例的引用?
有什麼辦法可以強制ServiceHost
在第一個WCF客戶端請求進入之前創建實例嗎?(大概會自動生成單例實例)?
我試圖訪問由我的WCF服務創建的單例實例,但即使在ServiceHost
上調用.Open
後,.SingletonInstance
似乎仍爲空。是否有可能在第一個WCF客戶端請求進來之前獲取對WCF ServiceHost單例實例的引用?
有什麼辦法可以強制ServiceHost
在第一個WCF客戶端請求進入之前創建實例嗎?(大概會自動生成單例實例)?
您可以撥打服務電話本身...
該實例確實只在請求進入時創建,您無法訪問尚未提供的服務。
但嚴重的是,試着解決這個問題。你在實現類的構造函數中不能做什麼需要它?
....你也許可以做瘋狂的事情與自定義IInstanceContextProvider ......想這是不值得的,雖然....
我知道這個問題是有點老了,但我米麪臨類似的問題,並認爲我找到了解決方案。有一個版本的ServiceHost構造函數需要引用實例,而不是類型: http://msdn.microsoft.com/en-us/library/ms585487.aspx#Y342
因此,您可以先創建實例,然後將其傳遞給ServiceHost構造函數。我還沒有嘗試過,但它看起來應該這樣做。一定要閱讀關於釋放實例的評論。當你使用這個構造函數。
您可以使用類和存儲實例對象的構造函數時,它是通過WCF的ServiceHost創建
感謝確認(這是關於一個自稱一個有趣的想法)。我試圖將監聽器添加到單例中存在的事件,以便我可以儘可能地保持單例的可重用性。如果這是WCF的不正確做法,請高興看看替代方案。長話短說我試圖根據進來的請求在窗體上生成一些統計數據。 – InvertedAcceleration