0

所以我想知道是否可以同时使用 Azure 共享缓存和新的共同定位缓存来实现 Web 角色?我想将会话状态存储在旧的 Azure 共享缓存中,以使用 VIP 交换保留应用程序部署之间的会话状态。我想使用新的共存缓存来缓存内存中的值,这些值被频繁访问但在数据库中不经常更改,因此使它们成为使用新的共存缓存和通知进行缓存的理想选择。

4

2 回答 2

1

应该可以正常工作 - 只是在配置部分中为缓存使用了不同的名称:

<dataCacheClients>
    <dataCacheClient name="colocated">
       <autoDiscover isEnabled="true" identifier="[cache cluster role name]" />
    </dataCacheClient>
    <dataCacheClient name="shared">
       <hosts>
           <host name="yourcachename.cache.windows.net" cachePort="22233" />
       </hosts>
    </dataCacheClient>
</dataCacheClients>

在代码中:

DataCache coloCache = new DataCache("colocated");
DataCache sharedcache = new DataCache("shared");

并在您的会话配置中:

<!-- Windows Azure Caching session state provider -->
<sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
  <providers>
    <add name="AFCacheSessionStateProvider" 
      type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache"
      cacheName="shared" 
      dataCacheClientName="shared" 
      applicationName="AFCacheSessionState"/>
  </providers>
</sessionState>
于 2013-04-10T15:46:45.847 回答
0

我认为不可能让两者都工作。似乎一个版本的缓存需要 101.0.0.0 版本的 Microsoft.ApplicationServer.Caching 和 Microsoft.Web.DistributedCache,而另一个需要 1.0.0.0 版本。这可以通过为 Azure 缓存和 Azure 共享缓存安装不同的 nuget 包来验证。如果有人确实知道如何让两者都运行,请在此处发布解决方案。

我已使用 Microsoft ASP.NET 通用提供程序将会话数据迁移到 Azure SQL,并将分布式缓存添加到项目中,而不是同时使用这两种缓存方法。

于 2013-04-11T21:26:40.400 回答