在远程服务器上创建文件夹时出错

本文关键字:文件夹 出错 创建 服务器 | 更新日期: 2023-09-27 18:01:20

嗨,我有一个编写的代码,用于在。net的远程服务器中编写文件。当我将输出路径保留为本地驱动器时,代码可以正常工作并创建文件夹和文本文件。但是当我指向远程服务器时,我得到下面的error:

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 ...

如果您需要更多的信息请告诉我

在远程服务器上创建文件夹时出错

在什么环境下执行代码?Winforms、web表单还是win服务?
对于所有这些情况,有不同的方法来解决这个问题:

  • WinForms -那么你的代码在默认情况下是在你的凭据下执行的,所以你的帐户必须有远程服务器上的creatinf文件夹的权限。
  • WebForms -然后你的代码是在本地IIS用户默认执行,或者在你的帐户下,如果你使用impersonation,所以这个帐户必须有远程服务器上的creatinf文件夹的权限。
  • Win services -然后你的代码在本地服务,本地机器,网络服务或该服务的某些用户(查看此处获取更多信息)下执行,因此该帐户必须具有远程服务器上creatinf文件夹的权限。

您可能需要为想要保存文件的文件夹的正确用户设置权限。这篇文章可能会给你答案:

链接-系统。UnauthorizedAccessException

代码现在正常工作了。问题是访问权限。将我的代码写入文件夹的凭据未添加到文件夹安全选项卡中。加进去之后。它工作。谢谢@James Deville, @VMAtm和@Razvan Panda:)