标准的 .NET 4.0 缓存不能在多个服务器之间共享。我需要在多应用程序中共享缓存,什么是多应用程序中共享缓存的最佳解决方案我需要帮助解决这个问题。
2 回答
几个月前,我写了一篇关于在 WCF 中使用 .NET 4.0 框架中可用的进程内内存缓存进行缓存的文章。该组件提供了一个轻量级缓存解决方案,可以轻松集成到各种类型的 .NET 应用程序中。
有些场景需要更高级的缓存解决方案。标准 .NET 4.0 缓存不能在多个服务器之间共享。每个服务器都有自己独立的缓存实例。此外,它与应用程序共享内存。32 位应用程序最多可以分配 4 GB 的 RAM(在 64 位操作系统上;在 32 位操作系统上最多 2 GB 的 RAM)。在某些情况下,您希望 32 位应用程序的缓存大于 2 GB(尽管这种情况很少见)。
新解决方案使用 Windows Server AppFabric 缓存
https://github.com/geersch/AppFabric
http://dotnet.dzone.com/articles/caching-wcf-services-part-2
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/AAP314
您绝对可以在 IIS 之外使用 System.Web.Caching.Cache。只需添加对 System.Web 的引用即可 - 它绝对不是 IIS 的功能
System.Web.Caching.Cache 对象不适用于 .NET Framework 1.1 和 .NET Framework 1.0 中的 ASP.NET外部。