BackgroundWorkerがIsBusyのときに新しいプロセスを開始しようとしています。Process.Instant in BackgroundWorker
の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クラスを使用しようとしましたが、同じ結果が得られました。
['Process.Start()'メソッドの 'bool'結果を確認する必要があります(http://msdn.microsoft.com/en-us/library/e8zac0ca(v=80).aspx )。 –
Process.Start()の結果はTRUEと等しくなります –