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