1

Azureにデプロイされたweb-apiMVCWebサイトからエラー500が発生しています。WebApiコントローラーはAzureTableStorageにアクセスし、ローカルで機能します(ローカルWebサイトは私のAzure Tableで機能します)。

問題のトラブルシューティング「リンクされたリソース」ページを使用してWebサイトをストレージにリンクしましたが、次のことに気付きました。「Windows Azure管理ポータルのカスタマープレビューリリースは、ストレージアカウントのWebサイトまたはクラウドサービスへのリンクをサポートしていません」このメッセージには、ステータスが「リンク済み」と表示されます。

Azureのこの段階で、Webサイトからテーブルにアクセスすることは可能ですか?

注:これはVS2010および.net4です。

要求に応じたコード:

    public static TableServiceContext GetContext()
    {
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=@cc0untKey==");

        CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

        var context = tableClient.GetDataServiceContext();
        сontext.IgnoreResourceNotFoundException = true;
        return context;
    }

    public IEnumerable<Destination> GetAllDestinations()
    {
        try
        {
            return TableProvider.GetContext()
                       .CreateQuery<Destination>(Model.Consts.DestinationTableName);
        }
        catch (Exception e)
        {
            return new Destination[1]
            {
                new Destination()
                {
                    CountryName = e.Message
                }
            };
        }
    }
4

2 に答える 2

2

プロジェクトが間違った方法で作成されました。Web API を使用して Web サイトを作成する場合は、Cloud -> MVC 4 Web ロールではなく、Web -> MVC 4を選択する必要があります。誤って 2 番目に実行してから、Web ロールではなく Web サイトを公開しました。

于 2012-07-22T15:50:31.137 に答える
0

はい。ストレージ サービスは、コードが実行されている場所を認識したり気にしたりしません。

新しいポータルで「リンク」が何をするのかはわかりませんが、それは単なる管理 UI の抽象化だと思います。実行中のコードには何の影響もないと思います。(アフィニティグループを設定するかも?)

于 2012-07-20T23:42:39.367 に答える