2011-07-07 129 views
4

您好我有一個用於在.net中寫入遠程服務器上的文件的代碼。當我將輸出路徑保存爲本地驅動器時 - 代碼正常工作並創建文件夾和文本文件。但是,當我點到遠程服務器,我收到以下錯誤:在遠程服務器上創建文件夾時出錯

System.UnauthorizedAccessException: Access to the path '\\ServerName\FolderTest\FolderTest1\AB.txt' 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) 
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) 
at ... 

如果您需要更多的信息,讓我知道

+2

強制性問題:您是否有權創建文件夾/文件? – Bobby

+0

添加到@ Bobby的評論,你有遠程執行它的權限。即可以在本地系統上打開資源管理器,導航到\\ ServerName \ FolderTest \ ....並創建一個文件夾/文件? –

+0

@詹姆斯德維爾:是的,我能夠從資源管理器打開文件夾以及文件夾共享 – Sathish

回答

-1

該代碼現在正常工作。問題是訪問權限。寫入該文件夾的代碼憑證未添加到文件夾安全性選項卡中。添加到它之後。有效。謝謝@James Deville,@VMAtm和@Razvan Panda :)

1

在該環境中,你執行你的代碼? Winforms,網頁表單或贏得服務?
對於這一切的情況下,有不同的wways來解決這個問題:

  • 的WinForms - 那麼你的代碼是在您的憑據默認情況下執行,因此您的帳戶必須在遠程服務器上的creatinf文件夾的權限。
  • WebForms - 那麼默認情況下,您的代碼在本地IIS用戶下執行,或者如果您使用impersonation,則在您的帳戶下執行,因此此帳戶必須具有遠程服務器上creatinf文件夾的權限。
  • Win服務 - 那麼您的代碼在本地服務,本地計算機,網絡服務或某個用戶​​的服務(look here for more info)下執行,因此此帳戶必須具有遠程服務器上creatinf文件夾的權限。
+0

我開發的代碼是webforms – Sathish

+1

因此,請檢查iis帳戶或啓用模擬以從Windows提供用戶訪問權限。 – VMAtm

相關問題