0

尝试在 Windows Azure 中创建新的专用缓存角色,但NotSupportedException: This operation is not supported by the cache每次运行此代码时都会出现异常。作为总结,这是我所做的......

我使用以下代码构建缓存,并且只要我调用就会发生异常GetCache(string)

_dataCacheFactory = new DataCacheFactory();
_cache = _dataCacheFactory.GetCache(cacheName);

此外,我添加了适当的<dataCacheClients>配置部分和对以下程序集的引用(所有引用中的程序集Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\ref):

  • Microsoft.ApplicationServer.Caching.AzureClientHelper
  • Microsoft.ApplicationServer.Caching.AzureCommon
  • Microsoft.ApplicationServer.Caching.Client
  • Microsoft.ApplicationServer.Caching.Core
  • Microsoft.Web.DistributedCache

我还在 Azure 项目中设置了缓存辅助角色。

据我所知,我已经遵循了所有 MSDN 文档,任何人都可以建议这里可能有什么问题吗?

4

2 回答 2

2

我猜您正在尝试获取命名缓存,Azure 共享缓存不支持该缓存。而不是_dataCacheFactory.GetCache(cacheName),尝试使用_dataCacheFactory.GetDefaultCache().

于 2012-06-18T14:33:33.910 回答
2

当您使用Windows Azure 缓存(专用和同位缓存)时,您必须使用下面的参考资料(这是作为预览发布的):

C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\ref\CachingPreview

此外,当您使用Windows Azure 共享缓存时,您应该使用以下参考:

C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-06\ref\

Windows Azure Cache (Dedicated and Co-located Cache)Windows Azure Shared Cache之间的区别在于,第一个缓存位于您的虚拟机中并通过创建累积共享缓存在实例之间共享,而第二个位于您的虚拟机之外(在 Windows Azure 中,您从 Windows Azure 管理门户配置它)并且所有实例都通过网络管道连接此缓存。

于 2012-06-18T16:21:17.883 回答