1

我从部署到 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
                }
            };
        }
    }
4

2 回答 2

2

项目以错误的方式创建。当您想使用 web api 创建网站时,您应该选择Web -> MVC 4而不是 Cloud -> MVC 4 Web 角色。错误地我做了第二个然后发布了网站而不是网络角色。

于 2012-07-22T15:50:31.137 回答
0

是的。存储服务不知道也不关心您的代码在哪里运行。

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

于 2012-07-20T23:42:39.367 回答