Javascript?長時間実行される操作が完了するまでASP.NETページを保持する最善の方法は何ですか?
メタタグリフレッシュ?
のResponse.Redirect(自己の)
Server.Transferを(自己の)
Ajaxの更新パネル?
Javascript?長時間実行される操作が完了するまでASP.NETページを保持する最善の方法は何ですか?
メタタグリフレッシュ?
のResponse.Redirect(自己の)
Server.Transferを(自己の)
Ajaxの更新パネル?
見てみましょう:
Javascriptを?
ユーザーが無効にしていない限り、正常に動作します。
メタタグリフレッシュ?
Javascriptメソッドのための廃止予定のメソッド。ただし、ユーザーがJavascriptを無効にしている場合は、バックアップとして使用できます。ブラウザがリダイレクトしながら、ユーザにとって有益なanyhingを示さないだろうと、動作しません(自己の)
のResponse.Redirect
。また、ブラウザは一定数のリダイレクト後に要求を停止し、ユーザーを無限のリダイレクトから保護します。
Server.Transferを(自己の)
は、サーバー上のコードのブラウザには何も送信せずにするのと同じループとして、いずれかの動作しません。この効果は、コード内にループがあることと同じです。
Ajaxの更新パネル?
ユーザーがJavascriptを無効にしていない限り、問題なく動作します。基本的には最初のオプションと同じですが、Javascriptのみがブラウザにリクエストを行う代わりにリクエスト自体を行います。
Asynchronous Pagesでこの記事をチェックしてください。また、非同期ページとMETA-REFRESHを含むCodeProjectの例もあります。オプションで
Ajaxを使用してUpdateProgressを表示することをお勧めします。そうすれば、ユーザーはそれがまだ乱れていることを知ることができます。
ビアハウススターターキットhttp://www.asp.net/Downloads/starter-kits/the-beer-house/で、この種の機能のサンプル実装を見つけることができます。
SendingNewsLetter.aspxとSendNewsLetter.aspxというページが役に立ちます。これはあなたの必要にもかかわらず、長時間実行されている操作の進捗状況を示しています。
ユーザーに進捗状況のいずれかの種類を報告することができた場合、私はasxhとforever frameの変動で実行する傾向があります。 jQuery UI DialogとjQuery UI Progress Barのビットを追加すると、サーバー上で重労働をしている間にユーザーの注目を集めるような光沢のある方法が得られます。
私は874204にいくつかのコード例を示しました。
ユーザーに進捗を伝えられない場合は、UIダイアログを使用して、2ドットオレンジに準拠したスピニーgifのWebで「お待ちください...処理中です」というメッセージが表示される傾向があります。
回答を読む - それは良いことです。私はそれを試してみたいと思っています。 –
ASP.Netの非同期ページは別のスレッドで実行されますが、タイムアウトの問題(ロードバランスのタイムアウトASP.Netスクリプトのタイムアウト)は改善されません。 –