Process を使用してコマンド ライン ツールを実行する ASP.Net Web アプリケーションがあります。コマンド ライン ツールへのパラメーターは、ユーザーによる入力として提供されます。
パラメータに問題があると、コマンド ライン ツールがクラッシュします。プロセスが正常に終了したかどうかを確認する方法は次のとおりです。
Process.Start();
Process.WaitForExit();
if(Process.ExitCode==0)
return true;
else
return false;
最初に、IIS を使用してこのアプリケーションを PC にホストしましたが、期待どおりに動作していました (コマンド ライン ツールがクラッシュすると、Process.ExitCode はゼロ以外の値を返します)。
しかし、サーバー上でホストしたとき、コマンド ライン ツールがクラッシュすると、Process.ExitCode が 0 を返し、アプリケーションはすべてがうまくいったかのように進行することがわかりました。デバッグ中に、コマンド ライン ツールがクラッシュすると、JIT デバッガー ダイアログ ボックスがサーバーでポップアップすることがわかりました。JIT デバッグを無効にすると、別の JIT ダイアログ ボックスが表示されます。
[コマンド ライン ツール名] で未処理の Microsoft .Net 例外が発生しました。この例外のジャストインタイム デバッグは、次のエラーで失敗しました: Visual Studio は、このハンドルされていない例外をデバッグできません。これは、インストールされている Visual Studio のバージョンよりも新しいバージョンの Microsoft .Net Framework に由来するためです。この例外をデバッグするには、 Visual Studio の最新バージョン。詳細については、「ジャスト イン タイム デバッグ、エラー」のドキュメント インデックスを確認してください。
私の PC とサーバーの両方に、Visual Studio 2010 Ultimate がインストールされています。では、なぜこの異なる動作をするのでしょうか? この問題を解決するにはどうすればよいですか?