質問

私はこのブログ投稿に従って Azure ストレージ テーブルを作成しています。http://blogs.msdn.com/jnak/archive/2008/10/28/walkthrough-simple-table-storage.aspx

asp.net Webフォームのweb_roleでは正常に動作します。

Web ロールとして asp.net mvc を使用して同じプロジェクトを再作成しましたが、アプリケーションの起動時に常に失敗します。この行:

StorageAccountInfo account = StorageAccountInfo.GetDefaultTableStorageAccountFromConfiguration();

アカウント共有キーの取得に常に失敗するようです。

グローバル asax アプリケーションの開始からdefault.aspx に行を移動すると、完全に正常に動作します。

  • Webフォームと比較して、Azure asp.net mvcでのストレージテーブルの初期化に違いはありますか?
  • アプリケーションの起動時に Azure アプリ設定を取得できないのはなぜですか?

  • これはイベント ビューアからのエラー コール スタックです

    Exception information: 
        Exception type: HttpException 
        Exception message: No account key specified! 
    
    Request information: 
        Request URL: http://127.0.0.1:5100/do.__rd_runtime_init__?shutdownEvent=1B671B93FD-4153-4834-9D5D-595EFC6C19EE1D 
        Request path: /do.__rd_runtime_init__ 
        User host address: 127.0.0.1 
        User:  
        Is authenticated: False 
        Authentication Type:  
        Thread account name: *****
    
    Thread information: 
        Thread ID: 6 
        Thread account name: *****
        Is impersonating: False 
        Stack trace:    at System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app)
       at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
       at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
       at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
       at System.Web.HttpApplicationFactory.GetPipelineApplicationInstance(IntPtr appContext, HttpContext context)
       at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
    
    役に立ちましたか?

    解決

    のhttpで "発言" をチェックしてください: //msdn.microsoft.com/en-us/library/microsoft.servicehosting.serviceruntime.rolemanager.aspxするます:

      

    のWindows Azureのファブリックは、IIS 7.0を実行します   統合モードインチ統合で   モード、のApplication_Startイベントはありません   要求へのアクセスをサポートしていません   コンテキストまたはのメンバーに   RoleManagerクラスで提供   WindowsのAzureのSDKランタイムAPI。もし、あんたが   ASP.NETアプリケーションを作成します   それは、要求コンテキストにアクセスしますか、   RoleManagerクラスのメソッドを呼び出します   Application_Startイベントから、あなた   で初期化するために、それを変更する必要があります   Application_BeginRequestイベント   その代わります。

         

    を使用する方法を示し例えば   Application_BeginRequestイベント、   PersonalWebSiteサンプルを参照してください   WindowsのAzureのSDKに付属ます。

    他のヒント

    あなたが使用している場合:

    StorageAccountInfo account = StorageAccountInfo.GetDefaultTableStorageAccountFromConfiguration();
    

    通常のアカウント情報がWeb.confファイルで指定されます。

    <add key="TableStorageEndpoint" value="http://127.0.0.1:10002/devstoreaccount1" />
    <add key="AccountName" value="devstoreaccount1" />
    <add key="AccountSharedKey" value="YOUR ACCOUNT KEY PROVIDED BY AZURE"/>
    
    ライセンス: CC-BY-SA帰属
    所属していません StackOverflow
    scroll top