我正在关注这篇博文来创建一个 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)