【问题标题】:Sharing cache between apps (asp.net) on the same physical machine在同一台物理机上的应用程序 (asp.net) 之间共享缓存
【发布时间】:2011-03-30 03:27:26
【问题描述】:

我们在一个主(根)应用程序中有多个虚拟应用程序。

如果虚拟应用程序和主应用程序位于(并且总是)在同一台物理机器上,如何在它们之间共享缓存?

通过缓存我假设 System.Runtime.Caching 或 System.Web.Caching。希望我不需要为此设置 AppFabric 缓存...

【问题讨论】:

    标签: .net asp.net caching sharing


    【解决方案1】:

    Memcached 是一个免费的开源缓存,作为 Windows 服务运行。您可以非常轻松地完成跨应用缓存,只需定义两个应用都将用于在 memcached 对象中查找的键。

    【讨论】:

    • 那么,使用 System.Runtime.Caching 或 System.Web.Caching 是不可能做到这一点的?即使在一台机器上?
    • 当然,您可以使用它们来公开您自己的服务器,从而重新发明memcached 轮子。 :-)
    【解决方案2】:

    做不到。多个 asp.net 应用程序存在于自己的 appdomain 中,并且 appdomain 由 IIS 控制,并且可能随时循环。这意味着任何缓存都必须使用网络场景(远程等),并且缓存更适合在 ASP.NET 控制之外(系统服务)。

    【讨论】:

      【解决方案3】:

      虽然其他人提到了内置的 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

      ASP.Net Cache sharing

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-18
        • 1970-01-01
        • 1970-01-01
        • 2020-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-25
        相关资源
        最近更新 更多