0

WCF サービスをホストするために作成した Windows サービスがあります。問題なく動作しますが、多くの人が ServiceHost オブジェクトが BackgrounWorker 内でインスタンス化されるようにサービスを構築していることにオンラインで気付きました。このパターンを使用する理由/利点は何でしょうか?

これが私の言いたいことの例です。

{
     internal static ServiceHost myHost = null;
     BackgroundWorker worker;

     public Service1()
     {
        InitializeComponent();
     }

     protected override void OnStart(string[] args)
     {
        worker = new BackgroundWorker();
        worker.DoWork += new DoWorkEventHandler(worker_DoWork);
     }

     void worker_DoWork(object sender, DoWorkEventArgs e)
     {
        //throw new NotImplementedException();
        if (myHost != null)
        {
           myHost.Close();
        }
        myHost = new ServiceHost(typeof(ServicetohostinWindow.Service1));
        myHost.Open();
     }
}
4

1 に答える 1