【问题标题】:C# the name 'Cache' does not exist in the current contextC# 名称“缓存”在当前上下文中不存在
【发布时间】:2017-03-10 10:02:28
【问题描述】:

我正在尝试将一些值存储在 Cache 中以供以后使用,我认为这是我需要的 https://msdn.microsoft.com/en-us/library/18c1wd61.aspx,但无法使其工作...

这就是我尝试使用它的方式(添加using System.Web):

Cache["name"] = "my name";

它说:

当前上下文中不存在名称“缓存”

我错过了什么?

【问题讨论】:

  • using System.Web.Caching
  • 返回:The type or namespace name 'Caching' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)

标签: c# winforms caching


【解决方案1】:

来自Cache Class

下面的 sn-p 访问的 Cache 实例是此示例继承的 Page 对象的成员。

您的代码必须在 Page 方法中。 HttpContext 上还有另一个可用的实例,同样在同一链接中进行了描述:

每个应用程序域都会创建一个此类的实例,只要应用程序域保持活动状态,它就会保持有效。有关此类实例的信息可通过HttpContext 对象的Cache 属性或Page 对象的Cache 属性获得。

你必须考虑Cache["<somestring>"]必须是一个实例,而不是类,因为一个类cannot have a static index accessor。因此,您看到的任何示例都必须是一个实例,可能是某个对象的名为Cache 的属性。

【讨论】:

  • 这意味着我不能在Windows Forms 应用程序中使用Cache 方法?
  • 您可以实例化 Cache 并使用它。但是,在表单应用程序中,它提出了为什么的问题?网页后端必须处理 HTTP 请求生命周期,但表单应用程序则不需要。一个应用程序可以简单地使用一个变量来“缓存”一些东西。
  • 我的范围是存储一个变量并在用户打开表单时将其显示在输入字段中
  • 对于 Winforms 应用程序,您可以使用 System.Runtime.Caching 命名空间,类如 MemoryCacheObjectCacheSqlChangeMonitor FileChangeMonitor 等。
  • 也试过了,但我仍然收到错误The type or namespace name 'Caching' does not exist in the namespace 'System.Runtime' (are you missing an assembly reference?)
猜你喜欢
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-04
  • 2013-10-02
  • 2014-04-22
  • 2017-06-17
  • 2015-09-11
相关资源
最近更新 更多