我有一个现有的 mvc4 Web 项目,我想将其部署到云服务并开始使用 azure 数据缓存。
我已将 Windows azure 缓存 nuget 包添加到解决方案中的两个项目中,即 Web 项目和类库项目,这两个项目都需要这些项目。
然后,我为 Web 项目添加一个 Web 角色,并更新了数据缓存标识符引用web.config
指向为协同定位缓存启用的 Web 角色。
当我没有任何数据缓存代码时,我可以在模拟器上本地运行它,没有任何问题。但是当我输入代码来访问数据缓存时,我就遇到了问题。仅此代码就导致 Web 项目挂起:
var cache = new DataCache("default");
据我所知,无论是在 vs 输出中还是在 Web 应用程序生成的错误中,都没有错误,它只是挂起。
开始诊断问题所在的最佳方法是什么?
UPDATE
我刚刚注意到应用程序事件日志中生成以下错误:
Application: CacheServiceEmulator.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: Microsoft.ApplicationServer.Caching.DataCacheException
Stack:
at Microsoft.ApplicationServer.Caching.AzureCommon.AzureUtility.ProcessException(System.Exception)
at Microsoft.ApplicationServer.Caching.CacheServiceEmulator.CacheServiceEmulator.Main(System.String[])
Faulting application name: CacheServiceEmulator.exe, version: 1.0.4797.0, time stamp: 0x506f41ec
Faulting module name: KERNELBASE.dll, version: 6.2.9200.16451, time stamp: 0x50988aa6
Exception code: 0xe0434352
Fault offset: 0x000000000003811c
Faulting process ID: 0x13cc
Faulting application start time: 0x01ce1b74c41f996d
Faulting application path: D:\Users\Tony\My Documents\Visual Studio 2012\Projects\Seqential\Didbook_ws\Didbook.net\Didbook.net v1.0\didbook.net Web.Azure\csx\Debug\roles\didbook.net Web\plugins\Caching\CacheServiceEmulator.exe
Faulting module path: C:\WINDOWS\system32\KERNELBASE.dll
Report ID: 03114030-8768-11e2-beaf-68942335e1fe
Faulting package full name:
Faulting package-relative application ID:
Fault bucket -936878625, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0
Problem signature:
P1: cacheserviceemulator.exe
P2: 1.0.4797.0
P3: 506f41ec
P4: Microsoft.ApplicationServer.Caching.AzureServerCommon
P5: 1.0.4797.0
P6: 506f41df
P7: 3d
P8: 18
P9: SWOUM0PNYW4I1S3EYHEY4VNB5OWO0LJ1
P10:
Attached files:
C:\Users\Tony\AppData\Local\Temp\WER90C9.tmp.WERInternalMetadata.xml
These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_cacheserviceemul_667e21a2e47da59aad2c601844d8dcfd3d291a_28d494fe
Analysis symbol:
Rechecking for solution: 0
Report ID: 03114030-8768-11e2-beaf-68942335e1fe
Report Status: 0
Hashed bucket: 700c7356d6308372410cf1d2baaf5d77
这有助于追踪正在发生的事情吗?
另一条可能有帮助的信息是,如果我创建一个全新的解决方案,添加一个 Web 角色并启用协同定位缓存,我可以让它正常工作——它只是出现了该解决方案特有的东西。