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();
}
}