我正在尝试在我的工作角色实例之间设置缓存。为此,我在 Azure 项目中添加了一个新的缓存辅助角色。但是,当我尝试使用以下代码访问默认缓存时:
_dataCacheFactory = new DataCacheFactory();
var cache = _dataCacheFactory.GetDefaultCache();
我永远不会恢复默认缓存,并且调用超时。我从 Azure 文档中复制了我的 app.config 文件,并在标识符标签中添加了我的角色名称:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
<section name="cacheDiagnostics" type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, Microsoft.ApplicationServer.Caching.AzureCommon" allowLocation="true" allowDefinition="Everywhere" />
</configSections>
<dataCacheClients>
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="Cache" />
<!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
</dataCacheClient>
</dataCacheClients>
<cacheDiagnostics>
<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
</cacheDiagnostics>
</configuration>
我仔细检查了我的缓存工作者角色的名称确实是“缓存”。在我的缓存工作者角色和我的普通工作者角色中,我在配置选项卡的“缓存”选项卡中设置了以下内容:
- 启用缓存
- 缓存集群设置设置为“专用角色”
- 存储帐户凭据:UseDevelopmentStorage=true
我目前正在 Azure Compute Emulator 上运行它。我可以看到我的工作角色和缓存工作角色都已启动并正在运行。是否有一些我遗漏或设置不正确的配置设置?谢谢!