可以从网站访问Azure表

时间:2012-07-20 22:34:45

标签: azure-table-storage azure-web-sites

我遇到来自部署到Azure的web-api MVC网站的错误500。 WebApi控制器访问Azure表存储,它在本地工作(本地网站与我的Azure表一起使用)。

问题排查我使用“链接资源”页面将网站链接到存储但注意到以下内容: “Windows Azure管理门户的客户预览版不支持将存储帐户链接到网站或云服务” 尽管有此消息,但它显示状态为“已链接”。

Azure的这个阶段是否可以从网站访问表?

注意:它是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
                }
            };
        }
    }

2 个答案:

答案 0 :(得分:2)

Project已经以错误的方式创建。 当您想使用web api创建网站时,您应该选择 Web - &gt; MVC 4 而不是云 - &gt; MVC 4 Web角色。错误的我做了第二次,然后发布了网站,而不是网络角色。

答案 1 :(得分:0)

是。存储服务不知道或不关心代码的运行位置。

我不知道新门户中的“链接”是什么,但我认为它只是一个管理UI抽象。我认为它对运行代码没有任何影响。 (也许它设置了亲和团体?)