0

WCF サービスからデータを取得する ASP.Net アプリケーションを開発しています。

ユーザー インターフェイス (JQM と ASP.NET で開発) は、リクエストが処理され、データがサーバー側でページングされる間、読み込みパネルを表示するため、データベースはリクエストごとに最初の n レコードのみを返します。

このシナリオでは、ユーザーが検索を実行し、ページをナビゲートするまで、次の n ページの結果をプリフェッチして RAM キャッシュ オブジェクトに保存し、遅延を回避します。

これを行うために、Quartz.net でスケジュールされたプロセスを作成しました。このプロセスは 3 秒ごとにトリガーされ、FIFO キューをチェックして後続のページのデータを要求します。スケジュールされた JOB は、quartz.net が同時実行を実行できるように構成され、quartz.net は最大 10 個のスレッドを使用するように設定されています。

あなたの意見では、これは良いアプローチですか?

問題はどれですか?

ジョブ (3 秒ごとに起動) を集中的に使用し、最終的にスレッドを使用すると、アプリケーションが不安定になる可能性がありますか?

FileSystemWatcher トリガーに基づくソリューションの方がよいでしょうか?

4

1 に答える 1

0

ユーザーが最初に検索するときの遅延は避けられないと思います。このような場合、後続のリクエストのためにデータをキャッシュする ajax リクエストを作成できます。

従来のasp.netを使用している場合、このリンクではasp.netでのajax呼び出しについて説明しています http://weblogs.asp.net/craigshoemaker/archive/2008/11/07/using-jquery-to-call-asp-net -ajax-page-methods-by-example.aspx

Quartz を使用する場合は、それを asp.net アプリケーションに埋め込む必要がありますが、これはオーバーヘッドです。

于 2013-01-31T21:27:46.410 に答える