Page_Load および Binds GridView で SqlDataSource を介してストアド プロシージャを呼び出す ASP.NET ページがあります。PageLoad では、次のようなことをしています。
string connectionString = BLTutela.BLclsDatabaseConfigurations.GetDefaultConnectionString();
dataSource.ConnectionString = connectionString;
dataSource.SelectParameters["ReportFromDate"].DefaultValue = reportFromDateValue.Date.ToString();
...
GridView1.DataSource = dataSource;
GridView1.DataBind();
dataSource は SqlDataSource で、StoredProcedure を呼び出します。コードは機能していますが、次の問題が発生する可能性があるため、最初のバージョンにすぎません (非常に長いレポートを生成するレポート ページであるため、これらの問題が発生する可能性があると思います)。
1) ストアド プロシージャの実行時間が長すぎる -> SessionTimeout が発生する可能性があり、システムからの応答が非常に長い間表示されない
2) ストアド プロシージャが終了したとしても、グリッドビューへのデータのロードも非常に長いプロセスになる可能性があります。これにより、別のセッション タイムアウトが発生する可能性があります。
1) 長いサーバー プロセス (ストアド プロシージャ) のセッション タイムアウトを表示しない、2) グリッドビューにデータを表示するためのタイムアウトがない、3) データの読み込み中に進行状況バーを表示するという解決策が必要です。
Threads や AsyncCalls を使用したことがないので、まず調査を行いたいと思いました。
今のところ、次のリンクを見つけました: http://madskristensen.net/post/Asynchronous-GridView-in-5-simple-steps.aspx これが私のケースでうまくいくかどうか、そして私が認識していない問題は何か疑問に思います.