我想要獲得在Azure雲上運行的matlab編譯的exe,並且爲此目的需要將v78.zip拖放到本地存儲雲並將其解壓縮,然後才能嘗試在雲上運行exe。該程序在本地執行時可以正常工作,但在部署時會在代碼中標記爲下面的行處出現錯誤。錯誤是:Azure:進程無法訪問文件「」,因爲它正在被另一個進程使用
進程無法訪問文件'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)
這將是很大的幫助,如果有人能告訴我,我要去哪裏錯了。
嗨丹,謝謝你的建議。我面臨兩個問題實現它 - 首先,使用期望一種類型可以隱式轉換爲System.IDisposable,其次,在使用stmt中發生的聲明和賦值已放在(在上面的代碼中),這些是在using之外引用的。這不會正常工作?我在這裏錯過了什麼嗎? – Shantanu 2010-05-30 06:06:07