2012-07-04 91 views
3

我需要託管服務開始後儘快初始化WCF服務類中的一些結構。Windows進程使用wcf服務?

現在我主持它的WinForms應用程序,有我這個初始化靜態結構。

ServiceHost host = new... 
host.Open()... 
new MyServiceClient().Initialize(); 

但我確定有更好的方法來做到這一點。我知道現在它是不雅的解決方案...也許小的wcf客戶端運行的Windows進程? (此客戶端只能調用該初值法負責)

+0

問:爲什麼你要在WinForms應用程序而不是控制檯/ Windows服務託管?你想在初始化時做什麼?在我的描述 –

回答

0

您可以使用該服務的構造函數初始化的任何工作需要做。

// The service 
public class MyService : IMyService { 
    // Constructor 
    public MyService() { 
     // Initialize things here 
    } 
} 

如果初始化工作只應執行一次,則可以使構造函數爲靜態。如果構建的東西不是靜態的,您可以根據您的性能需求將服務設置爲單例。你可以用下面的代碼來裝飾服務來做到這一點:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 
+0

看一次:「現在我的主機它WinForms應用程序」 – Saint

+0

你能給你的服務的當前設置一些更詳細? –

+0

dll中的服務,WinForms作爲主機應用程序。在DLL中,我持有一些對象的建設。我需要儘可能 – Saint

相關問題