2011-07-07 130 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

相关问题