2016-03-27 10 views
0

ASP.NETプログラムのコードビハインドは、1ページの注文レポートを出力する実行可能ファイルを呼び出します。次のように実行可能ファイルが呼び出されます:System.Diagnostics.Processの実行をどのようにスピードアップしますか?

Process.Start("PrintOrder.exe", nOrderNumber.ToString()); 

しかし、ユーザーが提出かなりのスローダウンをクリックしたときに(私は上記の行をコメント場合、実行は非常に高速です)。

プロセスを高速化する方法はありますか?

答えて

1

正確な測定を実行して、OSプロセスの開始コードが遅いかどうか、またはその他の障害があるかどうかを確認することをお勧めします。

OSに関連している場合は、コードの動作を構造的に変更することなく、あまり多くのことを行うことはできません。

  • 非同期(fire-and-forgetスタイル、プロセスをバックグラウンドで実行) - 実行結果を必要としない場合にのみ動作します。
  • "PrintOrder.exe"を常に実行し、WCFという名前のパイプチャネル経由でリクエストを受信するかどうかを確認します。
+0

ドミトリー、メッセージをありがとうございます。私は、ASP.NETアプリケーションではなくコマンドプロンプトでPrintOrder.exeを実行すると、非常に高速に実行されることを知っています。 操作を非同期にする限り、実行結果は必要ありません。どのように非同期操作を行うのですか?それはASP.NET側かPrintOrder.exe側で何か行われますか? – Hidalgo

+0

@Hidalgo Task.Factory.StartNew(()=> Process.Start( "PrintOrder.exe"、nOrderNumber.ToString())); –

+0

ありがとう、ドミトリー。私はあなたの提案に従います。 – Hidalgo

関連する問題