【问题标题】:Folder Watch for files as windows service?文件夹监视文件作为 Windows 服务?
【发布时间】:2012-03-08 23:44:47
【问题描述】:

我创建了一个观察者控制台应用程序来观察特定文件夹,如果在那里创建了任何文件,它将将该文件复制到其他目录并删除那里的文件。该应用程序作为独立控制台工作。但是,如果我通过 Windows 服务调用相同的 exe,它不起作用?我在windows服务中这样调用的设置会有什么变化吗

BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += new DoWorkEventHandler(bw_DoWork);
bw.RunWorkerAsync();

private void bw_DoWork(object sender, DoWorkEventArgs e)
{
  Process p = new Process();
  p.StartInfo = new ProcessStartInfo(ConfigurationSettings.AppSettings["FolderWatch"].ToString());
  p.Start();
  p.WaitForExit();
  base.Stop();
}

【问题讨论】:

    标签: process windows-services


    【解决方案1】:

    独立控制台应用程序将在当前登录用户的上下文中运行(除非您使用了“运行方式”)。

    检查服务属性上的“登录”选项卡 - 它是否作为“本地服务”运行?此帐户具有最低权限。创建一个帐户,该帐户具有您的服务执行所需任务所需的最低访问权限。

    【讨论】: