Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有从静态方法访问缓存或会话的方法?_C#_Asp.net_Jquery_Ajax_Dynamic - Fatal编程技术网

C# 有没有从静态方法访问缓存或会话的方法?

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是客户端,缓存在服务器端,因此您

如何从jQuery ajax调用访问缓存

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


我想将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。顺便说一句,您也可以从那里访问和属性。

您是我的救世主!这正是我想知道的。我知道一定有办法去缓存,但不知道怎么去。非常感谢!