【发布时间】:2011-04-08 23:22:43
【问题描述】:
我已经编写了一个作为 windows 控制台应用程序的软件;有一个配置文件指定如何登录该部分。
现在我已经对其进行了测试并且工作正常,我想将其转换为 Windows 服务。我创建了一个新项目,但有两个问题:
1) 日志记录似乎不再发生;不再读取配置文件,或者由于某些其他原因(权限?)而无法进行日志记录。无论如何,我在想什么是记录 Windows 服务的最佳方式,也许是通过 Windows 事件日志记录?如何?还是让我的配置文件工作更好,这样我就可以在不重新编译的情况下禁用日志记录?
2) 在服务中,我使用一组 FileSystemWatcher 对象来监视目录。看起来在服务中我不再收到监控事件了。有什么提示吗?
谢谢
编辑:
第 2 点向前迈进了一步 - 调试后我发现我收到了事件,问题是如果我尝试使用 File.Move 移动文件并且它失败了。
edit2: 第 2 点向前迈出了一小步) - 我必须使用用户权限安装服务,否则它不会让我移动文件。这解决了。
【问题讨论】:
-
您的日志文件存储在哪里?是的,Windows 服务在不同的权限模型下运行。如果没有有关您的配置的具体信息,这很难诊断。
-
你的意思是输出文件?它应该放在服务 exe 所在的同一个目录中(编译后,但可能在服务安装期间它被移动到其他地方)。
标签: .net logging windows-services