以编程方式将文件从目录移动到网络共享

时间:2013-01-31 14:42:40

标签: .net file-io network-share

我正在尝试编写一个将文件从服务器上的目录移动到网络共享的进程,该文件不在该计算机上。从本地计算机移动到网络共享时,该方法运行正常。但是,当我将进程放在我的服务器上时,它不起作用(这个进程基本上是一个dll,由运行的服务获取,服务旋转一个线程,将它提供给我的进程,然后将其移除)。该进程使用可访问共享目录的标识运行,但它不会移动它。我无法检测到发生的异常。我在那里有很好的记录,似乎没有例外。我会仔细观察,但有没有人试图做过这样的事情呢?我打电话给这个......

File.Move(@"C:\Output\" + FileTitle, ShareDirectory + "\\" + FileTitle);

或者这......

 File.Copy(@"C:\Output\" + FileTitle, ShareDirectory + "\\" + FileTitle, true);

取决于文件是否存在... 我不确定冒充什么会解决任何问题?该服务已在ldap用户名下运行,该用户名可以访问共享...

更新:发现了更多信息

好的,我有一个从未被击中的错误状态,所以这就是我没有捕获异常的原因......我得到了这个例外......

Exception Publishing Document to Share: System.UnauthorizedAccessException: Access to the path is denied.     

一旦我看到该异常,我决定冒充有效用户...... 我仍然得到那个例外......将该目录映射到服务器上会有所帮助吗? 我猜不是,但我的想法已经不多了。

更新:当我冒充自己与其他用户

当我在此过程中模仿我的自我时,我能够成功地将文件移动到共享。但是如果我冒充另一个应该具有相同权限的用户名,我仍然会得到上述异常。我不确定为什么会这样。也许这个用户没有我怀疑它拥有的权限。但只是查看Windows并查看LDAP服务器,它看起来就像它一样。非常好奇。

0 个答案:

没有答案