C# 有没有从静态方法访问缓存或会话的方法?
如何从jQuery ajax调用访问缓存 我正在使用jquery进行一些数据验证和快速数据访问。我有一个静态web方法,jquery通过json调用该方法以返回一个值。我不想每次都调用数据库,所以我想缓存正在访问的数据,但我无法确定如何从javascript或静态方法中调用asp.net缓存C# 有没有从静态方法访问缓存或会话的方法?,c#,asp.net,jquery,ajax,dynamic,C#,Asp.net,Jquery,Ajax,Dynamic,如何从jQuery ajax调用访问缓存 我正在使用jquery进行一些数据验证和快速数据访问。我有一个静态web方法,jquery通过json调用该方法以返回一个值。我不想每次都调用数据库,所以我想缓存正在访问的数据,但我无法确定如何从javascript或静态方法中调用asp.net缓存 我想将page对象发送到静态方法,该方法允许我访问page.cache,但不知道如何访问。除此之外,可能还有一种从javascript本身访问缓存的方法?javascript是客户端,缓存在服务器端,因此您
我想将page对象发送到静态方法,该方法允许我访问page.cache,但不知道如何访问。除此之外,可能还有一种从javascript本身访问缓存的方法?javascript是客户端,缓存在服务器端,因此您需要回调asp.net应用程序中返回缓存内容的方法
ASP.NET缓存API非常好,您可以使用Cache[“Key”]获取您喜欢的缓存内容。请在此处阅读更多内容:我认为调用PageMethod可能是您真正能做的最好的方法,如果您真的想这样做:
System.Web.HttpContext.Current.Cache
缓存是按应用程序域共享的,而不是按页面共享的。页面只有一个获取当前缓存的方法,这意味着您可以从页面中的方法执行缓存[“key”]
正如您所注意到的,如果您使用的是静态方法,那么您就没有页面实例,也没有Page.Cache属性。所以,你需要使用。但是,等等-您也没有HttpContext实例!没关系,当前执行的实例存储在的静态属性中
所以-要回答您的问题-在静态方法中,使用HttpContext.Current.Cache。顺便说一句,您也可以从那里访问和属性。您是我的救世主!这正是我想知道的。我知道一定有办法去缓存,但不知道怎么去。非常感谢!