我编写了一个非常简单的程序来测试将文件上传到Azure Blob存储,我还为它编写了一个单元测试。 对我来说问题是运行控制台应用程序的代码和单元测试完全相同,但单元测试正在尝试连接到localhost(它们具有相同的连接字符串)。
产生错误的代码是:
public class AzureFileUploadRepository : IFileUploadRepository
{
public string UploadFile(byte[] file, Guid? fileName = null)
{
var container = this.GetContainer();
if (!fileName.HasValue)
{
fileName = Guid.NewGuid();
}
var blockBlob = container.GetBlockBlobReference(fileName.ToString());
using (var memStream = new MemoryStream(file))
{
blockBlob.UploadFromStream(memStream);
}
return fileName.Value.ToString();
}
private CloudBlobContainer GetContainer()
{
var storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference("mycontainer");
container.CreateIfNotExists();
return container;
}
}
如您所见,它是非常基本的代码,它在从控制台应用程序运行时可以正常工作,但在使用Resharper运行单元测试时,我收到此错误: 似乎Resharper正在使用代理或其他什么,但我无法找到解决这个问题的地方。
任何人都有线索?
如果您想自己测试,源代码就在这里(您需要将[StorageConString]替换为您自己的连接字符串到您自己的blob存储区 https://github.com/hesta96/BlobTester
答案 0 :(得分:0)
我使用Resharper运行单元测试,测试结果为绿色。但是当我设置Web代理然后得到同样的问题。请尝试编辑Web代理并确保标记为“使用”的框LAN的代理服务器。“未经检查。请参阅how to turn off the IE Proxy server。希望它可以帮到你。
[ReSharper] - > [选项] - > [网络代理设置] - > [编辑]