我正在使用azure存储客户端将一些文件上传到Azure blob存储。此上载发生在存储在本地计算机中的 public bool UploadBlob(byte[] fileContent, CloudStorageAccount account, string containerName, string blobName)
{
try
{
CloudBlobClient blobclient = account.CreateCloudBlobClient();
CloudBlobContainer container = blobclient.GetContainerReference(containerName);
container.CreateIfNotExist();
CloudBlockBlob blob = container.GetBlockBlobReference(blobName);
HashSet<string> blocklist = new HashSet<string>();
foreach (FileBlock block in GetFileBlocks(fileContent))
{
if (ScanTool.mIsThreadStop)
return false;
ScanTool.mDocumentUploadedSize += block.Content.Length;
blob.PutBlock(
block.Id,
new MemoryStream(block.Content, true),
null
);
blocklist.Add(block.Id);
}
blob.PutBlockList(blocklist);
blob.FetchAttributes();
return blob.Properties.Length == fileContent.Length;
}
catch (Exception e) {
Log.WriteErrorLog(e, "UploadBlob at AzureBlobUtilCS");
throw new System.Net.WebException();
}
}
文件中。以下是我正在使用的代码。
try
{
CloudBlobContainer container = AzureHelper.GetContainer(containerName, accountName, accountKey);
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(AzureHelper.GetConnectionString(accountName, accountKey));
return UploadBlob(fileContent, storageAccount, containerName, blobName);
}catch(Exception e)
{
WriteInformationMessage("exception at UploadBlob11 =" + e.Message);
return false;
}
我正在调用上面的上传方法如下,它会抛出“代理身份验证失败”以下代码的异常
bluecoat proxy SG 900
这个问题在我的一个客户端网站中遇到,他说他们在本地网络中有代理。代理名称为<select>
<option [bound]="items[i]" *ngFor="let item of items; #i = index">{{item}}</option>
</select>
如何摆脱这个?
答案 0 :(得分:1)
我遇到了类似的问题,不仅在Azure存储中,还在整个网站上。
为了禁用Azure存储使用的默认代理(恰好是HttpClient
类使用的默认代理),我通过添加Web.config
元素更改了defaultProxy
:
<configuration>
<system.net>
<defaultProxy enabled="false"></defaultProxy>
</system.net>
</configuration>
如果您必须配置默认代理,而不是禁用它,您也可以在相同的元素中执行此操作,具体取决于以下文档:https://msdn.microsoft.com/en-us/library/kd3cf2ex(v=vs.110).aspx