3

ホスティング サービスの開始後、できるだけ早く wcf サービス クラスの構造を初期化する必要があります。

これを WinForms アプリケーションでホストし、そこでこの静的構造を初期化します。

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

しかし、これを行うためのより良い方法があると確信しています。私は今、それが洗練されていない解決策であることを知っています...おそらく、Windowsプロセスとして実行されている小さなwcf-clientですか?(このクライアントは、この初期化メソッドの呼び出しのみを担当する必要があります)

4

1 に答える 1

0

サービスのコンストラクターを使用して、必要な初期化作業を行うことができます。

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

初期化作業を 1 回だけ実行する必要がある場合は、コンストラクターを静的にすることができます。構築されるものが静的でない場合、パフォーマンスのニーズに応じて、サービスをシングルトンにすることができます。これを行うには、次のコードを使用してサービスを装飾できます。

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 
于 2012-07-05T03:45:06.533 に答える