0

我正在尝试编写一个将文件从服务器上的目录移动到网络共享的过程,该网络不会在该计算机上。从我的本地计算机移动到网络共享时,该方法运行良好。但是,当我将进程放在我的服务器上时它不起作用(这个进程基本上是一个 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.     

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

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

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

4

0 回答 0