运行azure项目时出现SEHException

时间:2013-11-07 22:30:29

标签: c# asp.net-mvc azure

我刚刚将我的azure项目从sdk 1.4版移到2.1版。

此举后,我无法在本地计算机上启动azure角色。我收到以下错误:

[SEHException (0x80004005): External component has thrown an exception.]
   RdGetApplicationConfigurationSetting(UInt16* , UInt16** ) +0
   RoleEnvironmentGetConfigurationSettingValueW(UInt16* pszName, UInt16* pszDest, UInt32 cchDest, UInt32* pcchRequiredDestSize) +82
   Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropRoleManager.GetConfigurationSetting(String name, String& ret) +232
   Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetConfigurationSettingValue(String configurationSettingName) +67
   Surfmark.MVC.WebRole.FirstRequestInitialization.ApplicationStartUponFirstRequest(HttpContext context) in C:\Dev\code\www\Surfmark.CloudService\Surfmark.MVC.WebRole\Global.asax.cs:232
   Surfmark.MVC.WebRole.FirstRequestInitialization.Initialize(HttpContext context) in C:\Dev\code\www\Surfmark.CloudService\Surfmark.MVC.WebRole\Global.asax.cs:223
   Surfmark.MVC.WebRole.MvcApplication.Application_BeginRequest(Object sender, EventArgs e) in C:\Dev\code\www\Surfmark.CloudService\Surfmark.MVC.WebRole\Global.asax.cs:202
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

请注意,我在Global.asax的Application_BeginRequest()方法中调用RoleEnvironment.GetConfigurationSettingValue()。在使用Azure SDK的v1.4时,我曾经在Application_Start()中调用CloudStorageAccount.SetConfigurationSettingPublisher(),这样就不会出现配置设置错误。我注意到在v2.1中这个方法不再存在,所以我假设我可以无误地访问RoleEnvironment.GetConfigurationSettingValue()。

请让我知道我在这里做错了什么?

由于 卡皮尔

1 个答案:

答案 0 :(得分:0)

我想我想出来了。实际上我正在将我的proj从1.4升级到2.1版本的azure SDK。现在,我注意到我的proj正在使用完整的IIS在开发机器上启动计算模拟器。我把它移到IIS-express(似乎这是新SDK中dev模拟器的默认设置),事情似乎运作良好。

由于 卡皮尔