在远程服务器上创建文件夹时出错
本文关键字:文件夹 出错 创建 服务器 | 更新日期: 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:)