【问题标题】:File.Copy() to file server with network Credential [duplicate]File.Copy() 到具有网络凭据的文件服务器 [重复]
【发布时间】:2011-06-24 20:36:10
【问题描述】:

我正在编写控制台应用程序,它将文件从我的本地磁盘复制到文件服务器。此文件夹受用户名和密码保护。 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();

标签: c# file-io


【解决方案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 有史以来最糟糕的错误描述。
猜你喜欢
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多