我遇到来自部署到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
}
};
}
}
答案 0 :(得分:2)
Project已经以错误的方式创建。 当您想使用web api创建网站时,您应该选择 Web - &gt; MVC 4 而不是云 - &gt; MVC 4 Web角色。错误的我做了第二次,然后发布了网站,而不是网络角色。
答案 1 :(得分:0)
是。存储服务不知道或不关心代码的运行位置。
我不知道新门户中的“链接”是什么,但我认为它只是一个管理UI抽象。我认为它对运行代码没有任何影响。 (也许它设置了亲和团体?)