0

我运行了一个 ASP.Net MVC3 应用程序,并按照这个 Windows Azure How-To来了解如何将我的会话存储在 Windows Azure 中的同位缓存中。

我已经安装了提到的 Nuget 包,并将必要的信息应用于我的 web.config。Web 角色设置为运行 2 个小型实例,并使用 30% 的共存缓存。

当我部署到 Azure 时,我的实例只是回收。通过与其中一个实例的远程桌面连接,我在日志中发现了这两个似乎相关的事件:

CacheStatusIndicator 服务意外终止。它已经这样做了 1 次。将在 1000 毫秒内采取以下纠正措施: 重新启动服务。

CacheService 服务意外终止。它已经这样做了 1 次。将在 60000 毫秒内采取以下纠正措施: 重新启动服务。

但是,我找不到太多关于此的信息。

有谁知道我在这里可能缺少什么?

4

2 回答 2

0

我非常确定您的角色缺少一些参考,因此您会看到来自 CacheStatusIndicator 的此类消息。您是否已验证您的角色确实将所有模块/引用设置为“将本地复制为 true”,因此它们都是部署包的一部分。主要是一个 MVC3 应用程序,您可能需要手动设置应用程序 MVC 特定引用属性以将本地复制为 true 以解决此问题。

于 2012-08-21T21:31:54.017 回答
0

现在我花了我共同的时间来处理这个问题,最后它似乎起作用了。不确定究竟是哪一部分解决了问题,但我会总结我所做的更改,以防其他人在某些时候遇到同样的问题。

  1. 在调试此问题时,我还将我的应用程序从 MVC3 更新到 MVC4。不确定这是否与解决此问题有关,但至少这是我所做的更改之一。
  2. 我注意到 IntelliTrace 服务引发了另一个异常,所以我在部署中禁用了它并重新部署了应用程序(我的猜测是这个问题实际上是导致实例循环的原因。

Microsoft 支持对此问题的回应:

我正在对您的部署进​​行故障排除,并从 CacheService.exe 获得了内存转储

这是抛出的异常

CLR 异常类型:System.TypeInitializationException “'Microsoft.ApplicationServer.Caching.AzureCommon.AzureUtility' 的类型初始化程序引发了异常。” ModLoad: 000007fe ea010000 000007feea0fa000
D:\Windows\Microsoft.NET\Framework64\v4.0.30319\diasymreader.dll *错误:找不到符号文件。默认为 D:\windows\system32\KERNEL32.dll 导出符号 - ntdll!ZwWaitForMultipleObjects+0xa: 00000000`76f5739a c3
ret

在以下情况下,可能会发生此命名空间的异常:

  • Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString在 ServiceConfiguration 上设置设置以使用本地存储模拟器
  • 在 web.config 上,您的<dataCacheClients>部分标识符值未设置为正确的角色名称
  • In some rare cases if you have the SDK 1.6 and 1.7 installed together this can cause some mixed up DLLs when project is being built.
于 2012-08-29T14:58:36.803 回答