Azure Worker Role在osFamily =“2”(Server 2008R2)上运行,但在osFamily =“3”时失败(Server 2012)

时间:2012-12-07 04:53:34

标签: azure

我们有一个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。

1 个答案:

答案 0 :(得分:5)

来自Azure支持工程师:

  

深入挖掘后,我发现了不同之处:在OS系列2中,   WaWorkerHost由临时帐户运行(具有GUID名称)   由Role初始化过程生成,此帐户具有权限   访问证书私钥;在OS系列3中,WaWorkerHost是   由“NETWORK SERVICE”帐户运行,此帐户没有   私钥访问权限。

     

我正在联系制作组,我们会调查此问题   更深的。我会告诉你的。