BackgroundWorker IsBusy のときに新しいプロセスを開始しようとしています。
Global.asax:
BackgroundWorker thread;
protected void Application_Start(object sender, EventArgs e)
{
StartThread();
}
protected void StartThread()
{
thread = new BackgroundWorker();
thread.DoWork += new DoWorkEventHandler(DoWork);
thread.RunWorkerAsync();
}
private void DoWork(object sender, DoWorkEventArgs e)
{
Process p = new Process();
p.StartInfo.FileName = "exe.exe";
p.Start();
p.WaitForExit(10000);
}
しかし、何も起こりませんでした。また、例外は発生しませんでした。p.Start() 行にブレークポイントを挿入しました。プロセスが開始されなかったことを除いて、すべて正常に動作します。
この理由は何でしょうか?また、これに Thread クラスを使用しようとしましたが、同じ結果が得られました。