Я пытаюсь запустить скомпилированный Matlab исполняемый файл в облаке Azure, и для этого мне нужно получить v78.zip в локальное хранилище облака и разархивировать его, прежде чем я смогу запустить exe на облако. Программа работает нормально, когда выполняется локально, но при развертывании выдает ошибку в строке, отмеченной ниже в коде. Ошибка:
Процесс не может получить доступ к файлу 'C: \ Resources \ directory \ cc0a20f5c1314f299ade4973ff1f4cad.WebRole.LocalStorage1 \ v78.zip', так как он используется другим процессом.
Сведения об исключении: System.IO.IOException: процесс не может получить доступ к файлу 'C: \ Resources \ directory \ cc0a20f5c1314f299ade4973ff1f4cad.WebRole.LocalStorage1 \ v78.zip', поскольку он используется другим процессом.
Код указан ниже:
string localPath = RoleEnvironment.GetLocalResource("LocalStorage1").RootPath;
Response.Write(localPath + " \n");
Directory.SetCurrentDirectory(localPath);
CloudBlob mblob = GetProgramContainer().GetBlobReference("v78.zip");
CloudBlockBlob mbblob = mblob.ToBlockBlob;
CloudBlob zipblob = GetProgramContainer().GetBlobReference("7z.exe");
string zipPath = Path.Combine(localPath, "7z.exe");
string matlabPath = Path.Combine(localPath, "v78.zip");
IEnumerable<ListBlockItem> blocklist = mbblob.DownloadBlockList();
BlobStream stream = mbblob.OpenRead();
>> FileStream fs = File.Create(matlabPath); (Exception occurs here)
Будет очень полезно, если кто-нибудь скажет мне, где я иду не так.