2

データベースへのインターフェイスを InfoPath から Visual Studio の .NET Web アプリに移行しています。SQL Server データベースは、ユーザーが 1 つの手順を実行するように設定されています。これにより、他の手順が開始され、さらに手順が開始されます。データベース全体が手順を完了する (「モデルの実行」) には、約 30 分かかります。 .

これらの各手順の最後に、sysProgressAudit というテーブルにレコードが挿入されます。このテーブルを更新パネルのグリッドビューにバインドして、常に更新し、ユーザーがモデルの実行の進行状況を監視できるようにします。ただし、データバインドもポストバックであるため、モデルの実行中にグリッドビューを同期的に更新することはできません (元のストアド プロシージャが完全に返されないため)。

PageRequestManager イベント内で更新パネルを常に更新することは可能ですか? 実行時間の長いクエリを実行し、同時にテーブルを更新する必要がある場合の最適なソリューションは何だと思いますか?

クエリを開始して何も返さないようにすることもできると思いますが (元の InfoPath メソッド)、多くのエラー処理機能と例外キャッチ機能が失われます...

4

1 に答える 1

0

ステータスを取得するには、SignalR を調べる必要があります。または、タイマーで ajax 呼び出しを実行してステータス情報を取得し、グリッドを更新することもできます。

于 2013-07-30T15:53:27.567 に答える