缓存我的静态数据在服务器上为所有用户c#

本文关键字:用户 服务器 我的 静态 数据 缓存 | 更新日期: 2023-09-27 18:08:02

我想在服务器中缓存一些静态数据。如果任何用户请求相同的数据缓存,应该返回。

如果我使用HttpContext。缓存,它会因用户而异。请帮助我如何在c#中做到这一点?

我已经试过了:

HttpContext.Cache.Insert(cacheKey, Sonarresult, null, DateTime.Now.AddSeconds(Timeduration), Cache.NoSlidingExpiration);

我试过了,但对于所有用户都将存储到缓存中。我不想那样。第一个用户只需要存储它

缓存我的静态数据在服务器上为所有用户c#

像使用会话变量一样使用应用程序缓存可以达到目的。

// get
string message = Application["somemessage"].ToString();

对所有用户都是一样的。

更详细地说,在代码中为应用程序变量设置值的地方要小心,因为一旦它们改变了,所有的应用程序变量都会改变。

// set
Application["somemessage"] = "your message";

全球。如果应用程序变量的值永远不会改变,那么asax将是一个可以设置它们值的地方:

void Application_Start(object sender, EventArgs e)
{
  // Code that runs on application startup
  // here we set the value every time the application starts
  Application["somemessage"] = "your message";
  // the following line will get the SiteName from the web.config setting section
  Application["SiteName"] = ConfigurationManager.AppSettings["SiteName"].ToString();
}

您可以使用应用程序缓存来完成此操作。

void Application_Start ()
  {
      _cache = Context.Cache;  
      _cache.Insert ("mycahce", mystaticvariabledata, null,
      Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration,
      CacheItemPriority.Default,null);
  }
相关文章: