它是否支持asp.net(C#)中的多服务器应用程序缓存

本文关键字:服务器 缓存 应用程序 支持 是否 asp net | 更新日期: 2023-09-27 18:29:41

在asp.net(C#)中是否支持多服务器中的应用程序缓存。我知道应用程序变量不支持多服务器(web服务器场),但应用程序缓存呢。当我们使用多个服务器时,访问值或将值存储在应用程序缓存中会有任何问题吗?(数据库存储不合适,会占用更多负载)。这里我使用代码

     HybridDictionary dicApplicationVariable = new HybridDictionary();
                    if (HttpContext.Current.Cache["dicApplicationVariable"] != null)
                    {
                        dicApplicationVariable = (HybridDictionary)HttpContext.Current.Cache["dicApplicationVariable"];
                        if (dicApplicationVariable.Contains(dtUserLogin.Rows[0]["Id"]))
                        {
                            dicApplicationVariable.Remove(dtUserLogin.Rows[0]["Id"]);
                            dicApplicationVariable.Add(dtUserLogin.Rows[0]["Id"], LogginSessionID);
                        }
                        else
                        {
                            dicApplicationVariable.Add(dtUserLogin.Rows[0]["Id"], LogginSessionID);
                        }
                    }
                    else
                    {
                        dicApplicationVariable.Add(dtUserLogin.Rows[0]["Id"], LogginSessionID);
                        HttpContext.Current.Cache["dicApplicationVariable"] = dicApplicationVariable;
                    }

它是否支持asp.net(C#)中的多服务器应用程序缓存

如果您运行的是Windows Server 2008或更高版本,那么我会研究Windows Server AppFabric缓存。

Windows Server AppFabric扩展了Windows Server,为Web应用程序和中间层服务提供了增强的托管、管理和缓存功能。AppFabric托管功能为Internet Information Services(IIS)、Windows Process Activation service(WAS)和.NET Framework 4添加了服务管理扩展。这包括托管服务和托管管理工具,使部署、配置和管理基于Windows Communication Foundation(WCF)和Windows Workflow Foundation(WF)的服务变得更加容易。AppFabric缓存功能为Windows Server添加了分布式内存中对象缓存,从而更容易扩展高性能.NET应用程序,尤其是ASP.NET应用程序。

我意识到并不是每个人都想使用微软的产品,所以这里有一些AppFabric:的替代品

  • NCache-这是第三方解决方案,不是免费的
  • Redis通过开源C#客户端Redis-ServiceStack。以下是关于.NET应用程序缓存的一篇有趣的文章:Redis与AppFabric缓存1.1