このブログ投稿に従って、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 アカウント = StorageAccountInfo.GetDefaultTableStorageAccountFromConfiguration();
アカウント共有キーの取得に常に失敗するようです。
グローバル asax アプリケーションの開始から default.aspx に行を移動すると、完全に正常に動作します。
これは、イベント ビューアーからのエラー コール スタックです。
例外情報:
例外の種類: HttpException
例外メッセージ: アカウント キーが指定されていません!
要請情報:
リクエスト URL: http://127.0.0.1:5100/do.__rd_runtime_init__?shutdownEvent=1B671B93FD-4153-4834-9D5D-595EFC6C19EE1D
リクエストパス: /do.__rd_runtime_init__
ユーザーホストアドレス: 127.0.0.1
ユーザー:
認証済み: False
認証タイプ:
スレッドアカウント名: *****
スレッド情報:
スレッド ID: 6
スレッドアカウント名: *****
なりすまし: False
スタック トレース: System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode (HttpContext コンテキスト、HttpApplication アプリ) で
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) で