将文件从服务器复制到另一个

Nig*_*ker 4 .net c#

我必须将一些文件从服务器复制到另一个服务器,我想使用File.Copy但我如何在那里指定文件的位置?并且还可以在 from 和 to 上设置密码标识。

有任何想法吗 ?

Cod*_*ray 5

如果这些是同一本地网络上的两台服务器并且您具有适当的访问权限,则您可能可以通过使用该File.Copy方法并传递通常用于访问 Windows 资源管理器中的网络共享的任何路径(这可能是 UNC 路径,喜欢\\TheRemoteServer\SharedFolder\MyFiles)。如果您可以在资源管理器中复制文件,该File.Copy方法也很可能成功。

但是,如果您需要在远程服务器上以不同的用户身份进行身份验证以获得适当的权限来复制文件,事情会变得有点复杂,因为没有简单的 .NET API 来实现这一点。您可能会查看另一个问题的答案。本质上,它 p/invokes 以不同的用户身份登录到远程机器。登录后,即可正常进行文件复制。

另请参阅此问题:使用凭据从远程、不受信任的域访问共享文件 (UNC) — 主要是建议使用WNetUseConnection身份验证连接到远程计算机上的 UNC 路径的答案。

最后,作为预防措施,我觉得我必须指出,每当您开始进行网络文件复制时,您都需要非常小心地检查网络路径的可用性,然后再盲目开始复制(远程服务器可能已关闭) ,本地计算机可能已失去与网络的连接等)。您可能还需要考虑处理网络操作超时的情况。