我刚刚将我的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()。
请让我知道我在这里做错了什么?
由于 卡皮尔
答案 0 :(得分:0)
我想我想出来了。实际上我正在将我的proj从1.4升级到2.1版本的azure SDK。现在,我注意到我的proj正在使用完整的IIS在开发机器上启动计算模拟器。我把它移到IIS-express(似乎这是新SDK中dev模拟器的默认设置),事情似乎运作良好。
由于 卡皮尔