【发布时间】:2011-03-30 03:27:26
【问题描述】:
我们在一个主(根)应用程序中有多个虚拟应用程序。
如果虚拟应用程序和主应用程序位于(并且总是)在同一台物理机器上,如何在它们之间共享缓存?
通过缓存我假设 System.Runtime.Caching 或 System.Web.Caching。希望我不需要为此设置 AppFabric 缓存...
【问题讨论】:
标签: .net asp.net caching sharing
我们在一个主(根)应用程序中有多个虚拟应用程序。
如果虚拟应用程序和主应用程序位于(并且总是)在同一台物理机器上,如何在它们之间共享缓存?
通过缓存我假设 System.Runtime.Caching 或 System.Web.Caching。希望我不需要为此设置 AppFabric 缓存...
【问题讨论】:
标签: .net asp.net caching sharing
Memcached 是一个免费的开源缓存,作为 Windows 服务运行。您可以非常轻松地完成跨应用缓存,只需定义两个应用都将用于在 memcached 对象中查找的键。
【讨论】:
memcached 轮子。 :-)
做不到。多个 asp.net 应用程序存在于自己的 appdomain 中,并且 appdomain 由 IIS 控制,并且可能随时循环。这意味着任何缓存都必须使用网络场景(远程等),并且缓存更适合在 ASP.NET 控制之外(系统服务)。
【讨论】:
虽然其他人提到了内置的 ASP.NET 缓存 (System.Web.Caching),但请注意 .NET 4.0 引入了一个全新的缓存框架,旨在在 System.Web.Caching 命名空间之外工作:
System.Runtime.Caching
http://msdn.microsoft.com/en-us/library/system.runtime.caching(VS.100).aspx
【讨论】: