FilersystemWatcher在模拟用户下运行

我有一个c#winform应用程序,它在本地帐户下运行但需要监视域上的文件夹。 我使用稍微修改过的代码从这里复制文件,并且工作正常。 可以使用类似的代码与FileSystemWatcher设置模拟,以便我可以监控域上的文件夹吗?

是的,这里有一个很好的模拟类,在你的项目中包含这个类,而不是简单地将你的FileSystemWatcher放在一个使用块中,如下所示:

using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) ) { ...  ... } 

你可以:

将权限应用于允许非域用户访问的域文件夹(即Everyone。)

使用具有权限的域帐户登录并运行winform应用程序。

将FileSystemWatcher代码重构为Windows服务,并在具有足够权限的domian帐户下运行它。

在现有代码中模拟域帐户,代码项目上有几个很好的解决方案。