当前位置:  开发笔记 > 编程语言 > 正文

在Azure存储模拟器中创建表会产生HTTP 500错误

如何解决《在Azure存储模拟器中创建表会产生HTTP500错误》经验,为你挑选了1个好方法。

我一直在尝试通过计算机的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仅此消息将引发type异常:

远程服务器返回错误:(500)Internal Server Error。

我尝试过:

    确保我的WindowsAzure.Storage nuget软件包是最新版本(6.2.0)。

    重新安装适用于VS2015 2.8.1的Azure SDK(并确保它是最新版本)

    通过Azure存储模拟器命令行工具停止,清除,初始化Azure存储模拟器(似乎工作正常,没有错误)

    通过异常的“ .InnerException.Response.GetResponseStream()”读取Web响应的流。此操作失败,并指出“流不可读”。

    重新启动我的机器(无奈中)

我的花样少了。有人遇到过这个问题吗?



1> Johnny Kauff..:

我解决了 我必须彻底清除现有的本地存储仿真实例。使用“ AzureStorageEmulator.exe清除”或“ AzureStorageEmulator.exe初始化”是不够的。即使卸载Azure SDK也不够。

我从停止存储仿真开始:

AzureStorageEmulator.exe stop
AzureStorageEmulator.exe clear
AzureStorageEmulator.exe init /forceCreate

最后一条命令出错,并指示它无法创建数据库。

然后,我删除了(实际上,我重命名了)剩下的文件,这些文件构成了Azure存储模拟器背后的数据库:

C:\ Users \ [Me] \ AzureStorageEmulatorDb42_log.ldf

C:\ Users \ [Me] \ AzureStorageEmulatorDb42_log.mdf

最后,我开始备份模拟器

AzureStorageEmulator.exe init /forceCreate
AzureStorageEmulator.exe start

成功!

我不确定是什么使我陷入困境,但我最大的猜测是这是由于Azure SDK的最新升级引起的。

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有