首页 文章

Windows Azure Web角色缓存(预览)“挂起”使模拟器卡在部署循环中

提问于
浏览
5

我正在尝试使用Microsoft网站上的指南,将2012年6月SDK版本中引入的新发布的基于角色的缓存替换为Windows Azure AppFabric缓存 .

但是,在我的Web角色中检查"Enable Caching (Preview)"时,模拟器将无法成功实例化网站(模拟器日志:http://pastebin.com/dwbDvak2) . 它似乎陷入了某种循环 . 禁用Web角色缓存使其再次起作用 . 卸载所有以前的Azure SDK并重新安装1.7版本后,我得到了相同的结果 .

Visual Studio告诉我“角色实例开始的时间比预期的要长 . 你想继续等待吗?” [是] [否] . 按是保持等待,并反复出现 .

是否有人可能知道如何解决上述问题,或者可能尝试过新的Web角色缓存功能并让它在azure模拟器中工作?

Screen shot of the azure local debugging environment deployment dialog

谢谢 .

Update:

我创建了一个新的解决方案,并添加了一个简单的MVC站点,添加了Web角色并启用了缓存,并且发生了同样的事情 . 所以,我看了一下事件查看器,发现了3个与该问题相关的条目:

Fault bucket 3034750239, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: cacheinstaller.exe
P2: 1.0.4655.0
P3: 4fb0f3f9
P4: CacheInstaller
P5: 1.0.4655.0
P6: 4fb0f3f9
P7: 11
P8: 47
P9: System.TypeLoadException
P10: 

Attached files:
C:\Users\anan\AppData\Local\Temp\WEREA8F.tmp.WERInternalMetadata.xml

These files may be available here:
C:\Users\anan\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_cacheinstaller.e_1fbc3b72afb6acf93335ca8611850d289906c25_2ddaf529

Analysis symbol: 
Rechecking for solution: 0
Report Id: 3138ba06-b344-11e1-a8d6-402cf41c1e07
Report Status: 0


Application: CacheInstaller.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.MissingMethodException
Stack:
   at Microsoft.ApplicationServer.Caching.AzureCommon.Package.InitializeExternalStoreIfRequired()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ThreadHelper.ThreadStart()

然后:

Application: CacheInstaller.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.MissingMethodException
Stack:
   at Microsoft.ApplicationServer.Caching.AzureCommon.Package.InitializeExternalStoreIfRequired()
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ThreadHelper.ThreadStart()

和:

Faulting application name: CacheInstaller.exe, version: 1.0.4655.0, time stamp: 0x4fb0f3f9
Faulting module name: KERNELBASE.dll, version: 6.1.7601.17651, time stamp: 0x4e21213c
Exception code: 0xe0434352
Fault offset: 0x000000000000cacd
Faulting process id: 0x17b4
Faulting application start time: 0x01cd4750f5db0096
Faulting application path: c:\users\anan\documents\visual studio 11\Projects\AzureCacheTest\AzureCacheTest\csx\Debug\roles\WebRole\plugins\Caching\CacheInstaller.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 33a53608-b344-11e1-a8d6-402cf41c1e07

仅供参考:这是使用Visual Studio 2012 RC的Windows 7 x64企业版 .

4 回答

  • 1

    我遇到过同样的问题 . 与AppFabric Server DLL冲突有关 - 检查是否安装了AppFabric Server并卸载缓存或从GAC中删除缓存程序集 . 我删除了,模拟缓存工作正常 .

    我有一些可能对我们的博客有帮助的信息:

    http://blog.elastacloud.com/2012/06/09/using-the-windows-azure-cache-preview-with-sdk-1-7/

  • 2

    缺少方法可能意味着加载的程序集中没有方法 . 您能确保将正确的装配添加到项目中吗?

    确保您没有在计算机中安装Windows AppFabric Server,因为GAC将在运行时获取缓存dll

  • 1

    对我来说,问题是我从UNC Share运行我的项目(实际上它在我的macbook上的VM中运行) . 当我在检查辅助角色上的“启用缓存”框后启动调试器时,它就会挂起 . 快来了解一下,大约每2秒就在C:\ Windows \ System32 \%LOCALAPPDATA%\ CrashDumps中创建一个160MB的转储文件 . 在调试其中一个之后,我可以看到第一个错误是它试图在我的worker角色的缓存中启动cmd.exe并且它说CMD无法在网络共享上运行,因此它将默认为windows / system32或一些东西 .

    就在那时我发现了这个方便花花公子7岁的MS知识库文章:http://support.microsoft.com/kb/156276当我添加 DisableUNCCheck REG_DWORD 并在注册表路径 HKEY_CURRENT_USER\Software\Microsoft\Command Processor 下将值设置为 0 x 1 (Hex) 时,一切都像冠军一样启动 . 希望这有助于其他人 .

  • 0

    您的意思是只要您检查 CheckBox 以启用缓存,就会发生此错误吗?这不应该发生......它在我的机器上工作正常 .

    您是在创建新项目还是升级现有项目?尝试创建一个新项目 .

    另请检查以下日志:

    附加的文件:

    C:\Users\anan\AppData\Local\Temp\WEREA8F.tmp.WERInternalMetadata.xml
    

    这些文件可在此处获得:

    C:\Users\anan\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_cacheinstaller.e_1fbc3b72afb6acf93335ca8611850d289906c25_2ddaf529
    

相关问题