所以当我在我的工作角色中尝试缓存时,我在本地出现了这个错误:
ErrorCode<ERRCA0042>:SubStatus<ES0001>:Invalid identifier: 'Fildela Worker'. Check cache rolename/endpoint in configuration.
就行:
<autoDiscover isEnabled="true" identifier="Fildela Worker" />
在我的MVC应用程序中,webconfig。
所以我将Azure SDK版本更新为 2.5.1 ,将我的Visual Studio 2013版本更新为更新4 并vo!它奏效了!
HOWEVER ,当我将项目作为cloudapp发布到Azure时,会再次出现错误消息。我的缓存在localhost上运行,但在发布到Azure时则不行。
为什么?
谢谢!
编辑1
我正在使用最新的Windows Azure Cache 2.5.10。
答案 0 :(得分:0)
当标识符被验证为托管缓存的URI时,会抛出此特定错误。 Azure缓存客户端尝试首先将给定标识符用作角色,如果失败则将其用作端点。所以我认为您的客户端可能无法连接到您的缓存服务器角色。其中一个原因可能是Azure SDK和缓存客户端的版本不兼容,但由于您使用的情况可能并非如此。您可以尝试的一些事情是清理客户端库并将其添加回来以验证客户端位是否已更新。您还可以检查/共享客户端跟踪,以找出与缓存服务器角色的连接失败的原因。
答案 1 :(得分:0)
我将Windows Azure缓存从2.5.10降级到2.0.0并且有效!缓存在本地和发布时都有效。
但是这样做会遇到一些问题。
当我安装2.0.0时,我在软件包管理器控制台中遇到了异常:
Exception calling "Item" with "1" argument(s): "InvalidParameter
Parameter name: index"
当我开始我的网络角色时,我又得到了另一个例外:
Could not load file or assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.":"Microsoft.WindowsAzure.ServiceRuntime, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
然后我检查了我的ServiceRuntime版本,它是2.3.0.0,而不是2.0.0.0。
所以我打开了我的webconfig并添加了这段代码:
<dependentAssembly>
<assemblyIdentity name="Microsoft.WindowsAzure.ServiceRuntime" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-2.3.0.0" newVersion="2.3.0.0" />
</dependentAssembly>
多田!做完了!