File.Copy() 到具有网络凭据的文件服务器 [重复]
Posted
技术标签:
【中文标题】File.Copy() 到具有网络凭据的文件服务器 [重复]【英文标题】:File.Copy() to file server with network Credential [duplicate] 【发布时间】:2011-02-10 13:15:46 【问题描述】:我正在编写控制台应用程序,它将文件从我的本地磁盘复制到文件服务器。此文件夹受用户名和密码保护。 File.Copy()
方法不起作用。它给出了权限错误。 I have looked to this code
我试过了,但它不起作用。首先它是用 VB 编写的,但我已将代码更改为 C#,但有一些错误。我不知道这个错误是什么意思。也许您可以建议我以其他方式将文件处理到受保护的文件服务器
使用简单的 File.Copy(bla bla) 它给了我“你没有权限”
当我将 VB 代码转换为 C# 时,出现以下错误:尝试读取或写入受保护的内存
我找到了解决办法
You can Follow It
【问题讨论】:
我可以建议您发布错误。 代替“另一种方式”,让我们尝试采用您尝试过的工作方式。当您转换该代码时,您看到了什么样的错误? 当我将代码转换为 C# 时,它给了我以下错误:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。我确定我已经正确更改了它,但在一行中我不确定。这一行是 Dim admin_token As IntPtr 我已将其更改为 IntPtr admin_token = new IntPtr(); 相关 - ***.com/questions/17786037/… 【参考方案1】:你可以使用我几年前写的little impersonation class:
using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
// code that executes under the new context.
File.Copy( x, y );
【讨论】:
如果我的代码无法正常工作,我会在稍后查看您的代码 :-) 我认为您的代码是正确的。感谢回复 我需要你的帮助。我可以为 Domain 参数设置 null 吗? 您可以使用单个点“。”表示正在使用本地帐户数据库。Environment.MachineName
我猜也可以。
@omriman12 有史以来最糟糕的错误描述。以上是关于File.Copy() 到具有网络凭据的文件服务器 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
File.Copy() 从网络共享到同一台机器上的另一个共享是不是通过网络复制文件?
File.Copy 与手动 FileStream.Write 用于复制文件