我有一个c#winform应用程序,它在本地帐户下运行但需要监视域上的文件夹。我使用来自here的略微修改的代码来复制文件,并且工作正常。类似的代码可以与FileSystemWatcher设置模拟一起使用,这样我就可以监控域上的文件夹吗?
答案 0 :(得分:6)
是的,有一个很好的模拟类here,在您的项目中包含此类,而不是简单地将FileSystemWatcher放在这样的使用块中:
using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
...
<code that executes under the new context>
...
}
答案 1 :(得分:1)
你可以:
将权限应用于允许非域用户访问的域文件夹(即Everyone。)
使用具有权限的域帐户登录并运行winform应用程序。
将FileSystemWatcher代码重构为Windows服务,并在具有足够权限的domian帐户下运行。
在现有代码中模拟域帐户,代码项目有几个很好的解决方案。