私の Web アプリケーションでは、大量のデータを含むレポートをユーザーが実行できるため、実行に時間がかかります。
私の実行レポートページでは、セッション状態をtrueに設定し、レポート生成中にセッション変数に書き込んでいます。同時に、ユーザーが他のページに移動したい場合は、実行によってロックが保持されるため、ナビゲーションを待つ必要がありますレポートページ。したがって、レポート実行ページが完全に実行されると、ユーザーのみがナビゲートされたページを取得します。
セッションがいずれかのページ (セッションへの書き込み) によってロックされている場合、要求のキューイングがあることを意味します。
セッション状態を読み取り専用に変更できません。
この問題を解決するための任意の提案。
コードスニペット
page1.aspx 内
Session["Test"] ="testing...";
// Some long running code
for(int i=0;i<10000000000000;i++)
{
}
今、ユーザーは長時間実行されているコードの間に page2.aspx に行きたいと思っています。その後、page2.aspx で取得しています
Response.Write(Session["Test"]);
to null
前もって感謝します