c# - 有没有办法从静态方法访问缓存或 session ?

标签 c# asp.net jquery ajax dynamic

您将如何通过 jQuery ajax 调用访问缓存?

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

我想将页面对象发送到静态方法,这将允许我访问 page.cache,但不知道如何。除此之外,也许是一种从 javascript 本身访问缓存的方法?

最佳答案

System.Web.HttpContext.Current.Cache

缓存按应用域共享,而不是按页面共享。页面只有一个 convenience property of Page.Cache获取当前缓存,这意味着您可以通过页面中的方法执行缓存["key"]。

正如您所注意到的,如果您使用的是静态方法 - 那么您就没有 Page 实例,也没有 Page.Cache 属性。所以,你需要使用 HttpContext.Cache .但是,等等——你也没有 HttpContext 实例!没关系,当前正在执行的实例存储在 HttpContext.Current 的静态属性中.

因此 - 回答您的问题 - 在静态方法中,使用 HttpContext.Current.Cache。顺便说一句,您还可以访问 RequestResponse那里的属性。

关于c# - 有没有办法从静态方法访问缓存或 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/385345/

相关文章:

c# - 我不太明白 MySql 连接是什么样的

c# - 在Azure Active Directory中,有用户禁用选项吗?

c# - 下拉列表仅返回第一项的项目文本/值

asp.net - 如何在Visual Studio 2015的一种解决方案中跨多个ASP.NET CORE项目共享诸如appsettings.json之类的配置文件?

javascript - 如何让内容在滚动时滑入?

c# - 堆栈面板的水平滚动不起作用

c# - 无法使用构造函数实例化类

html - anchor 标记 onserverclick 不工作

javascript - 同一类的多个实例的事件处理——需要说明

javascript - Zurb Foundation 模态定位问题