如何从jQuery ajax调用访问缓存?
我正在使用jquery进行一些数据验证和快速数据访问。我有一个静态的web方法,jquery通过json调用它来返回值。我不想每次都调用数据库,所以我想缓存我命中的数据,但我不能确定如何从javascript或静态方法中调用asp.net缓存。
我希望将页面对象发送到静态方法,这样我就可以访问page.cache,但不知道如何访问。除此之外,也许有一种方法可以从javascript本身访问缓存?
发布于 2008-12-22 02:10:27
System.Web.HttpContext.Current.Cache
缓存是按应用程序域共享的,而不是按页面共享。页面只有一个用于获取当前缓存的convenience property of Page.Cache,这意味着您可以从页面中的方法中只使用缓存“键”。
正如您已经注意到的,如果您在一个静态方法中,那么您没有Page实例,也没有Page.Cache属性。因此,您需要使用HttpContext.Cache。但是,等等--您也没有HttpContext实例!这没问题,当前执行的实例存储在HttpContext.Current的静态属性中。
所以-为了回答你的问题-在静态方法中,使用HttpContext.Current.Cache。顺便说一句,您还可以从那里访问Request和Response属性。
发布于 2008-12-22 01:56:10
如果你真的想这样做,我认为调用PageMethod可能是你真正能做的最好的事情:
http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/
发布于 2008-12-22 01:47:43
Javascript是客户端,缓存在服务器端,所以您需要回调asp.net应用程序中的一个方法,该方法返回缓存的内容。
ASP.NET的缓存接口真的很好,你可以使用缓存“键”来获得你喜欢的缓存内容。点击此处阅读更多信息:http://msdn.microsoft.com/en-us/library/ms972379.aspx
https://stackoverflow.com/questions/385345
复制相似问题