首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法从静态方法访问缓存或会话?

有没有办法从静态方法访问缓存或会话?
EN

Stack Overflow用户
提问于 2008-12-22 01:41:38
回答 3查看 10.8K关注 0票数 19

如何从jQuery ajax调用访问缓存?

我正在使用jquery进行一些数据验证和快速数据访问。我有一个静态的web方法,jquery通过json调用它来返回值。我不想每次都调用数据库,所以我想缓存我命中的数据,但我不能确定如何从javascript或静态方法中调用asp.net缓存。

我希望将页面对象发送到静态方法,这样我就可以访问page.cache,但不知道如何访问。除此之外,也许有一种方法可以从javascript本身访问缓存?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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。顺便说一句,您还可以从那里访问RequestResponse属性。

票数 34
EN

Stack Overflow用户

发布于 2008-12-22 01:56:10

如果你真的想这样做,我认为调用PageMethod可能是你真正能做的最好的事情:

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

票数 1
EN

Stack Overflow用户

发布于 2008-12-22 01:47:43

Javascript是客户端,缓存在服务器端,所以您需要回调asp.net应用程序中的一个方法,该方法返回缓存的内容。

ASP.NET的缓存接口真的很好,你可以使用缓存“键”来获得你喜欢的缓存内容。点击此处阅读更多信息:http://msdn.microsoft.com/en-us/library/ms972379.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/385345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档