我正在Windows服務中託管服務。如何在WCF中自行託管時初始化服務對象
下面的代碼片段實例化ServiceHost的對象:
Host = new ServiceHost(typeof(Services.DocumentInfoService));
的DocumentInfoService類實現了有一個調用需要進行初始化(實際上是一個連接字符串)的業務對象的方法合同接口。理想情況下,我希望託管進程從配置文件中獲取連接字符串,並將其傳遞給服務對象DocumentInfoService的構造函數,DocumentInfoService將保留它並根據需要使用它傳遞給業務對象。
但是,ServiceHost構造函數需要一個System.Type對象 - 因此DocumentInfoService的實例是通過默認構造函數創建的。我確實注意到ServiceHost有另一個構造方法,它接受一個對象實例 - 但文檔指出它是用於單例。
有沒有一種方法可以讓我在創建對象之後到達對象,以便我可以傳遞它一些初始化數據?
當我發佈這個問題後,我想起我曾經做過類似的事情,並忘記了。我已經將一個設置文件添加到庫項目中,然後將生成的app.config的相關部分複製到可執行項目中的真實app.config。我會在這裏嘗試。謝謝! – 2008-10-08 15:23:53