2013-07-16 62 views
1

我們有一個WCF服務,我們將其部署到我們的客戶服務器,現在我們正在創建一個webrole,使我們能夠在Azure上運行相同的服務。 麻煩的是,服務項目有一個img文件夾,我們在這裏存儲了一些文件丟失或標識時使用的圖像。當我們的服務嘗試與這行代碼acccess這個文件如何訪問作爲Azure Webrole中部署的一部分的文件

File.Open(StoragePath, FileMode.Open); 

我們得到以下異常:

System.UnauthorizedAccessException: Access to the path 'E:\sitesroot\0\bin\img\delficertwarning.tif' is denied. 
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) 
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) 
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) 

有誰知道如何得到這個工作?

+0

什麼用戶確實是被拒絕訪問運行該代碼? – sharptooth

+0

除了Azure Webrole的默認用戶之外,我們還沒有嘗試過,尤其是沒有嘗試過,因爲我們發現該解決方案僅使用讀訪問權限。 –

回答

2

事實證明,你必須指定你只打算使用打開的文件進行讀取:

File.Open(StoragePath, FileMode.Open, FileAccess.Read, FileShare.Read); 
相關問題