我们有一个Azure辅助角色 - .NET 4.0 - 在osFamily =“2”(Server 2008R2)上部署到Azure时可以正常运行。但是,当我们使用osFamily =“3”(Server 2012)和没有其他代码更改进行部署时,工作者角色会不断回收服务器事件日志中的以下2个错误:
错误应用程序名称:WaWorkerHost.exe,版本:6.0.6002.18488,时间戳:0x505cf7ca 错误模块名称:KERNELBASE.dll,版本:6.2.9200.16384,时间戳:0x5010ab2d 异常代码:0xe0434352 故障偏移:0x00000000000189cc 错误进程id:0xefc 错误应用程序启动时间:0x01cdd4318f76d221 错误的应用程序路径:E:\ base \ x64 \ WaWorkerHost.exe 错误模块路径:D:\ Windows \ system32 \ KERNELBASE.dll 报告编号:cf1810b0-4024-11e2-93ec-00155d4250e3 错误包全名: 错误的包相关应用程序ID:
应用程序:WaWorkerHost.exe 框架版本:v4.0.30319 描述:由于未处理的异常,进程终止。 异常信息:System.InvalidOperationException 堆: 在Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.b__0() 在System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object,Boolean) 在System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object,Boolean) 在System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object) 在System.Threading.ThreadHelper.ThreadStart()
有什么想法吗?
更新------------------发现第三个例外:
应用程序:WaWorkerHost.exe Framework版本:v4.0.30319 描述:由于未处理的异常,进程终止。 异常信息:System.Security.Cryptography.CryptographicException 堆栈:at Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.b__0() 在 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()
我们使用LocalComputer / My中的证书来解密连接字符串。证书成功部署到OsFamily =“2”(Server 2008R2)并将Worker角色用户添加到私钥(在RDP会话中验证)。但是,对于OsFamily =“3”(Server 2012) - 证书未部署,因此加密错误。跟进Azure支持... UGH。
答案 0 :(得分:5)
来自Azure支持工程师:
深入挖掘后,我发现了不同之处:在OS系列2中, WaWorkerHost由临时帐户运行(具有GUID名称) 由Role初始化过程生成,此帐户具有权限 访问证书私钥;在OS系列3中,WaWorkerHost是 由“NETWORK SERVICE”帐户运行,此帐户没有 私钥访问权限。
我正在联系制作组,我们会调查此问题 更深的。我会告诉你的。