我正在关注这篇博文来创建一个 azure 存储表:http: //blogs.msdn.com/jnak/archive/2008/10/28/walkthrough-simple-table-storage.aspx
它在 asp.net webform web_role 上运行良好。
我使用 asp.net mvc 作为 Web 角色重新创建了相同的项目,并且它在应用程序启动时总是失败。这一行:
StorageAccountInfo account = StorageAccountInfo.GetDefaultTableStorageAccountFromConfiguration();
似乎总是无法获取帐户共享密钥。
如果我将行从全局 asax 应用程序开始移动到 default.aspx,它工作得非常好。
这是来自事件查看器的错误调用堆栈
异常信息:
异常类型:HttpException
异常消息:未指定帐户密钥!
索取资料:
请求网址:http://127.0.0.1:5100/do.__rd_runtime_init__?shutdownEvent=1B671B93FD-4153-4834-9D5D-595EFC6C19EE1D
请求路径:/do.__rd_runtime_init__
用户主机地址:127.0.0.1
用户:
是否经过身份验证:假
认证类型:
话题帐号名:*****
线程信息:
线程 ID:6
话题帐号名:*****
是否冒充:假
堆栈跟踪:在 System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app)
在 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext 上下文,MethodInfo[] 处理程序)
在 System.Web.HttpApplication.InitSpecial(HttpApplicationState 状态,MethodInfo[] 处理程序,IntPtr appContext,HttpContext 上下文)
在 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext 上下文)
在 System.Web.HttpApplicationFactory.GetPipelineApplicationInstance(IntPtr appContext,HttpContext 上下文)
在 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)