19

jQuery ajax呼び出しからキャッシュにどのようにアクセスしますか?

私はjqueryを使用して、データの検証と迅速なデータアクセスを行っています。jqueryが値を返すためにjsonを介して呼び出している静的なWebメソッドがあります。毎回データベースを呼び出したくないので、ヒットしているデータをキャッシュしたいのですが、JavaScript内からasp.netキャッシュを呼び出す方法、または静的メソッドを決定できません。

ページオブジェクトをstaticメソッドに送信したいのですが、これによりpage.cacheにアクセスできるようになりますが、方法がわかりません。それを除けば、JavaScript自体からキャッシュにアクセスする方法はありますか?

4

3 に答える 3

34

System.Web.HttpContext.Current.Cache

キャッシュは、ページごとではなく、アプリ ドメインごとに共有されます。ページには、現在のキャッシュを取得するための便利な Page.Cache プロパティがあります。つまり、ページ内のメソッドから Cache["key"] を実行できます。

お気付きのように、静的メソッドを使用している場合は、Page インスタンスも Page.Cache プロパティもありません。したがって、 HttpContext.Cacheを使用する必要があります。しかし、待ってください - HttpContext インスタンスもありません! 大丈夫です。現在実行中のインスタンスはHttpContext.Currentの static プロパティに格納されています。

したがって、質問に答えるには、静的メソッドで HttpContext.Current.Cache を使用します。ところで、そこからRequestおよびResponseプロパティにアクセスすることもできます。

于 2008-12-22T02:10:27.310 に答える
1

本当にこれを実行したい場合は、PageMethodを呼び出すことが実際に実行できる最善の方法であると思います。

http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

于 2008-12-22T01:56:10.397 に答える
0

Javascriptはクライアント側であり、キャッシュはサーバー側であるため、キャッシュのコンテンツを返すasp.netアプリケーションのメソッドへのコールバックを実行する必要があります。

ASP.NET Cache APIは非常に優れており、Cache["Key"]を使用して必要なキャッシュコンテンツを取得できます。詳細はこちら: http: //msdn.microsoft.com/en-us/library/ms972379.aspx

于 2008-12-22T01:47:42.897 に答える