2011-08-11 41 views
1

这些文件存在,我可以从我的域授权Windows帐户中删除它们,我正在编译和运行程序。我一直认为该程序将在网络驱动器上执行操作时使用该帐户。这不是这种情况吗?Directory.Delete - UnauthorizedAccessException

我试图在Windows中运行.exe文件,这个帐户可以完全访问文件夹和文件,并显示相同的错误。如果这个工作正常,或者我需要在代码中做些事情来让程序像某个用户一样运行某些操作?

目前,我没有在单独的线程或后台工作人员中运行代码。我只是创建了一个方法,执行以下操作:

Directory.Delete(NetworkDirectory, true); 
Directory.Delete(NetworkDirectoryTwo, true); 

任何答案将不胜感激。

回答

-1

如果您尝试通过网络访问文件/目录,则需要在网络共享上设置适当的权限,而不仅仅是在实际文件夹中设置的权限。因此,您的帐户可能拥有对C:\MyData\*的完全访问权限,但如果共享为\\mycomputer\MyData且文件夹以只读方式共享,则您将获得UnauthorizedAccessException

+0

我使用的帐户是一个域管理员帐户,该帐户可以完全访问共享和驱动器。 – Omniabsence

+0

@user因此,您可以成功浏览到“\\ mycomputer \ MyData”并通过Windows资源管理器删除文件夹。 AFAIK,你的程序应该默认使用启动它的用户的凭据来访问网络资源。 –

+0

我也这么认为。奇怪的事情正在发生。是否有删除文件夹及其所有文件和子文件夹的替代方法?我试图弄清楚如何递归地做这件事,并且遇到一些有用的东西时有点麻烦。 – Omniabsence

相关问题