我正在尝试使用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 回答
我遇到过同样的问题 . 与AppFabric Server DLL冲突有关 - 检查是否安装了AppFabric Server并卸载缓存或从GAC中删除缓存程序集 . 我删除了,模拟缓存工作正常 .
我有一些可能对我们的博客有帮助的信息:
http://blog.elastacloud.com/2012/06/09/using-the-windows-azure-cache-preview-with-sdk-1-7/
缺少方法可能意味着加载的程序集中没有方法 . 您能确保将正确的装配添加到项目中吗?
确保您没有在计算机中安装Windows AppFabric Server,因为GAC将在运行时获取缓存dll
对我来说,问题是我从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)
时,一切都像冠军一样启动 . 希望这有助于其他人 .您的意思是只要您检查
CheckBox
以启用缓存,就会发生此错误吗?这不应该发生......它在我的机器上工作正常 .您是在创建新项目还是升级现有项目?尝试创建一个新项目 .
另请检查以下日志:
附加的文件:
这些文件可在此处获得: