2

スクリプトの実行中に読み込みページを表示したい場合、どうすればよいですか?

コントローラーのコードの実行が終了するとビューがレンダリングされるようですが、コードがかなりの量を実行しているため、ユーザーに何かを表示する必要があります。

ご指摘ありがとうございます。

4

2 に答える 2

1

Jason が示唆するように、そのページを jQuery 呼び出しでロードし、タイムアウトしないことを願うか、実行中のコードをスタンドアロン コンポーネントに移動する必要があります。通常は Windows サービスであり、それと通信して処理を開始し、完了時にメッセージを受信します (私は通常 MSMQ を使用します)。

于 2009-08-18T06:17:47.550 に答える
-1

Web リクエストで長いタスクを実行しないでください。
代わりに、次のことを行う必要があります。

  1. アクションで、それを実行する新しいスレッドを取得します。
  2. 進行状況について定期的にクエリを実行するビューをレンダリングします (Ajax リクエストまたはノルマップ ポストを使用)。別行動です。
  3. ジョブが完了したら、実際の結果を返す 3 番目のアクションを実行します。

以下は例です (ただし、WebForms の場合)。ただし、新しいスレッドを開始する代わりに、ASP.NET プールからスレッドを取得します。

于 2009-08-18T06:31:09.440 に答える