我无法创建一个名为" people"在我的本地机器上。我已经通过启动" Windows Azure存储模拟器 - v2.2"启动了Azure模拟器。我从NuGet中取出了最新的Azure客户端库,版本为3.0.3.0。 .NET版本是4.5,我的VS是2012 Ultimate。我在x64系统上从Windows 8.1运行此代码。
这是我的测试代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Table;
namespace AzureTablesTest
{
class Program
{
static void Main(string[] args)
{
// Retrieve the storage account from the connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true");
// Create the table client.
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
// Create the table if it doesn't exist.
CloudTable table = tableClient.GetTableReference("people");
table.CreateIfNotExists();
}
}
}
我通过检查emualtor GUI确保模拟器正在运行:
当我从VS运行测试代码时,会抛出此异常:
奇怪的是,当我打开Azure Storage Explorer时,创建一个开发帐户,我可以创建表和实体。当我从模拟器GUI重置表时,我可以看到存储资源管理器也被清空(刷新后)。我试图通过资源管理器创建一个表,看看上面用我的简单控制台程序创建表时是否有任何错误,我得到了同样的错误。所以我无法使用控制台程序读取或写入,但我可以使用资源管理器。
有人知道为什么我不能通过简单的控制台程序创建表,但为什么我可以通过Azure存储资源管理器?我甚至试图以VS管理员的身份运行上面列出的控制台程序,这给了我完全相同的错误,如上所示。
更新 安装存储模拟器2.2.1预览,因为此链接描述了Azure 400 Bad Request on every request,解决了我的问题。