我一直在尝试通过我的计算机的Azure存储模拟器创建一个表。我可以使用一个只使用WindowsAzure.Storage nuget版本6.2.0的非常简单的程序重新创建问题:
using Microsoft.WindowsAzure.Storage;
namespace StorageEmulatorTest
{
internal class Program
{
private static void Main(string[] args)
{
var cloudStorageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true");
var cloudTableClient = cloudStorageAccount.CreateCloudTableClient();
cloudTableClient.GetTableReference("JohnnyTest").CreateIfNotExists();
}
}
}
25秒后,这将抛出Microsoft.WindowsAzure.Storage.StorageException
类型的异常,只显示以下消息:
远程服务器返回错误:(500)内部服务器错误。
我试过了:
我的技巧包很低。有没有人遇到过这个问题?
答案 0 :(得分:4)
我解决了。我不得不彻底清除现有的本地存储仿真实例。使用“AzureStorageEmulator.exe clear”或“AzureStorageEmulator.exe init”是不够的。即使卸载Azure SDK也不够。
我开始停止存储模拟:
AzureStorageEmulator.exe stop
AzureStorageEmulator.exe clear
AzureStorageEmulator.exe init /forceCreate
最后一个命令出错并表示它无法创建数据库。
然后我删除了(实际上,我重命名了)这些包含azure存储模拟器后面的数据库的剩余文件:
最后,我启动了模拟器备份
AzureStorageEmulator.exe init /forceCreate
AzureStorageEmulator.exe start
成功!
我不确定是什么让我陷入困境,但我最好的猜测是,这是由最近升级的Azure SDK引起的。