global.asax Application_Start() の実行に 30 秒以上かかる MVC3 アプリケーションがあります。アプリケーション プールがリセットされた後、ユーザーが初めてサイトにアクセスすると、ブラウザは「web サイトを待っています...」というメッセージを表示したままになります。
「データを読み込んでいます...」メッセージ/ページを表示して、すべてが問題ないことをユーザーに知らせ、辛抱強く待つ方法はありますか?
global.asax Application_Start() の実行に 30 秒以上かかる MVC3 アプリケーションがあります。アプリケーション プールがリセットされた後、ユーザーが初めてサイトにアクセスすると、ブラウザは「web サイトを待っています...」というメッセージを表示したままになります。
「データを読み込んでいます...」メッセージ/ページを表示して、すべてが問題ないことをユーザーに知らせ、辛抱強く待つ方法はありますか?
いいえ、 からのメッセージを表示する方法はありませんApplication_Start
。IIS 7.5 には優れたAutoStart 機能があり、アプリケーションをメモリにプリロードできるため、長時間の待機を回避できます。もう 1 つの可能性は、IIS によってサイトがアンロードされないように、定期的にサイトにクエリを実行する外部サービスを用意することです。
この機能を使用できない場合は、Application_Start
30 秒かからないように、作業量を削減/最適化する必要があります。
同じ.netアプリケーション内ではありません-。内からは何も表示できませんApplication_Start
。メインアプリからの応答をポーリングし、応答を取得するとリダイレクトするランディングページとして別の小さなアプリを作成できます。
しかし、より良い解決策は、いくつかの作業を移動することですApplication_Start
-ユーザーが最初のページに到達し、着陸したら初期化メソッドを呼び出せるようにすることはできませんか?
サーバーからの応答がないため、特にそのようにすることはできません。そのため、何もできません。
しかし、スタンド モードにならないように、アプリケーションの任意の URL を照会するハートビートを実装するのはどうでしょうか?
アイデア: 5 分ごとにアプリケーションにクエリを実行するように外部サービスを設定します。