它是否支持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;
}
如果您运行的是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