2009-06-13 6 views
4

にAzureのストレージ・テーブルを作成します。私はAzureストレージのテーブルを作成するには、このブログ記事を以下のよasp.net MVC

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

StorageAccountInfo account = StorageAccountInfo.GetDefaultTableStorageAccountFromConfiguration();

アカウント共有キーを取得できないようです。

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

  • ウェブフォームと比較して、azure asp.net mvcでストレージテーブルを初期化する際に違いはありますか?
  • アプリケーション開始時に紺色のアペットを得ることができないのはなぜですか?

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

     
    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) 
    

    おかげ

    答えて

    2

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

    のWindows Azureのファブリックランで7.0 をIIS統合モード。統合 モードでは、Application_Startイベントは、 コンテキストまたは Windows Azure SDKランタイムAPIによって提供される RoleManagerクラスのメンバーへのアクセスをサポートしていません( )。あなた が要求コンテキストまたはのApplication_StartイベントからRoleManagerクラス の 呼び出しメソッドにアクセスするASP.NETアプリケーション を作成する場合は、 ではなく Application_BeginRequestイベント に初期化するために変更する必要があります。 Application_BeginRequestイベントを使用する方法を示し例えば

    は、 はPersonalWebSiteサンプルを見ることのWindows AzureのSDKと 船。

    0

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

    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"/> 
    
    関連する問題