1

我有一个现有的 mvc4 Web 项目,我想将其部署到云服务并开始使用 azure 数据缓存。

我已将 windows azure 缓存 nuget 包添加到解决方案中的两个项目中,即 web 项目和类库项目,这两个项目都需要这些。

然后,我为 Web 项目添加了一个 Web 角色,并更新了 中的数据缓存标识符引用web.config以指向启用共存缓存的 Web 角色。

当我没有任何数据缓存代码时,我可以在模拟器上本地运行它而不会出现任何问题。但是我输入代码以访问数据缓存的那一刻就是我遇到问题的时候。只是这段代码导致 web 项目挂起:

var cache = new DataCache("default");

没有我知道的错误,无论是在 vs 输出中还是从 Web 应用程序生成的错误中,它只是挂起。

开始诊断此问题所在的最佳方法是什么?

更新

我刚刚注意到应用程序事件日志中生成了以下错误:

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 角色并启用同位缓存,我可以让它正常工作——它只是看起来特定于这个解决方案。

4

2 回答 2

1

Azure 缓存模拟器启动 logman.exe,将 cnf 参数作为 30:00 传递,但如果格式与您的区域设置不兼容,logman 可能会拒绝它。

您所要做的就是将长时间设置更改为“HH:mm:ss”,它会起作用。

于 2013-03-14T11:18:23.590 回答
0

您可以在此处转储您的 cscfgs 并列出存储密钥,同时检查应用程序服务器通道 (Admin) 中的事件和堆栈跟踪,它会有更好的堆栈跟踪。

于 2013-03-09T10:31:08.287 回答