【发布时间】:2021-08-09 09:57:45
【问题描述】:
我有一个 asp.net 核心 web api 控制器,它正在使用此代码从 azure blob 存储下载一个 zip 文件。
CloudStorageAccount mycloudStorageAccount = CloudStorageAccount.Parse(storageAccount_connectionString);
CloudBlobClient blobClient = mycloudStorageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(azure_ContainerName);
CloudBlockBlob cloudBlockBlob = container.GetBlockBlobReference(filetoDownload);
FileStream file = File.OpenWrite(@"D:\Downloads\"+filetoDownload);
cloudBlockBlob.DownloadToStreamAsync(file);
Console.WriteLine("Download completed!");
下载后我尝试使用另一个控制器使用此代码解压缩。
string zipPath = @"D:\Downloads\AUSAssetData_4F3CDD1E-B0B1-4FD9-9663-08B5DE0CE014_DMFPackage.zip";
string extractPath = @"D:\Downloads\Extracted";
ZipFile.ExtractToDirectory(zipPath, extractPath, false);
但在尝试解压缩文件时,我收到此错误 System.IO.IOException: The process cannot access the file。我想知道有没有一种方法可以在不停止整个服务的情况下停止以前的控制器进程,以便我的解压缩控制器可以访问它。
【问题讨论】:
标签: c# azure asp.net-core