我正在尝试设置Windows Azure缓存预览版实现,但是我遇到了使本地缓存配置生效的问题。这是我目前的配置:
<dataCacheClients>
<tracing sinkType="DiagnosticSink" traceLevel="Error" />
<dataCacheClient name="default" requestTimeout="30000"
maxConnectionsToServer="5" isCompressionEnabled="true">
<autoDiscover isEnabled="true" identifier="{My Role Name}" />
<localCache isEnabled="true" sync="NotificationBased"
objectCount="100000" ttlValue="300" />
<clientNotification pollInterval="60" />
</dataCacheClient>
</dataCacheClients>
我使用Ninject创建默认缓存对象,如下所示:
Bind<DataCache>().ToMethod((context) => new DataCacheFactory().GetDefaultCache());
当我没有使用本地缓存做任何事情时,这个注入工作正常,但我遇到了将大型数据集放入缓存(超时)的问题,所以我想我会看到使用本地缓存会导致什么行为。
由于我更改了配置(基于MSDN上的this article,请参阅该部分中的“角色缓存(预览)”),我收到以下错误:
ErrorCode ERRCA0015:SubStatus ES0001:基于通知的失效 不支持,因为Cache未配置为支持 通知。
这有点令人困惑,因为我认为这就是dataCacheClients配置部分应该做的事情。我是否需要在DataCache对象本身上以编程方式设置某些内容,或者我是否在Web配置中遗漏了某些内容?
答案 0 :(得分:1)
您需要确保服务器端的命名缓存已启用通知。这可以在Visual Studio中的Azure缓存服务器端的“缓存”选项卡下查看。