【问题标题】:How do I troubleshoot Microsoft.Windows.Storage.StorageException:The remote name could not be resolved如何解决 Microsoft.Windows.Storage.StorageException:无法解析远程名称
【发布时间】:2019-03-27 00:28:14
【问题描述】:

我正在排查为什么某台计算机昨天开始使用它定期运行的代码出现此异常。

我创建了以下测试来重现问题

        var account =
            CloudStorageAccount.Parse(
                $"DefaultEndpointsProtocol=https;AccountName={accountName};" +
                $"AccountKey={accountKey}");
        var client = account.CreateCloudBlobClient();
        var conref = client.GetContainerReference(containerRef);
                var blobref = conref.GetBlockBlobReference(filename);

        blobref.DownloadToFile(fullDownloadName, FileMode.Create);

在运行 windows 2012 Server Release 2 的好电脑上,文件下载 在运行 Windows 8.1 的坏电脑上,只会创建一个零长度的空文件

我重新启动了坏电脑。 我还能尝试什么?

两台电脑都可以上网。

Console.WriteLine($"DefaultEndpointsProtocol=https;AccountName={accountName};" + $"AccountKey={accountKey}")

在两台电脑上看起来都一样。

测试控制台应用引用 WindowsAzure.Storage 9.3.2

我正在通过文件复制安装控制台应用程序。 这是文件

[更新]

我正在尝试从https://docs.microsoft.com/en-au/cli/azure/install-azure-cli?view=azure-cli-latest 安装客户端工具

我有一个无法访问此站点的错误。

【问题讨论】:

  • 您能否验证云存储连接字符串$"DefaultEndpointsProtocol=https;AccountName={accountName};" + $"AccountKey={accountKey}" 是否正确解析?
  • 有没有办法 ping 存储帐户?
  • 您可以将相同的字符串分配给变量并对其进行调试,或者根据应用程序类型,您可以使用类似 Console.WriteLine($"DefaultEndpointsProtocol=https;AccountName={accountName};" + $"AccountKey={accountKey}")
  • @KirstenGreed 您无法 ping 存储帐户终结点。您是否尝试过任何其他操作,例如列出存储帐户的容器或列出特定容器中的 blob?您是否仔细检查过两台机器上的 SDK 版本是否相同?
  • @KirstenGreed - 您已经在使用 SDK(所有 CloudStorageAccount 内容,以及您正在创建的云存储客户端等)。为了使该代码正常工作,您必须在开发机器上本地安装 SDK。重要的是您在每台机器上使用相同版本的 SDK,以获得最一致的结果。

标签: c# azure-blob-storage


【解决方案1】:

我们将本地 DNS 更改为 1.1.1.1 然后运行 ​​IPConfig /flushdns 然后我的测试开始工作了。

但是让 DNS 服务器不是域服务器是有问题的(访问错误)

然后我们将本地 DNS 改回域服务器并将辅助 DNS 设置为 1.1.1.1

重启域服务器和盒子

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-08
  • 1970-01-01
  • 2016-05-31
  • 2013-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多