Win Service是否有任何理由不在外部库中执行函数?

时间:2011-01-25 14:18:48

标签: windows debugging windows-services

我是编写Windows服务的新手,所以这对我来说真的很奇怪。我使用WinForm调试了一个外部库。外部库执行一些驱动器映射,复制目录结构,删除原始目录,重命名复制的目录,然后删除映射。

因此,当我编写服务来初始化外部类并启动进程时,该服务似乎没有做我认为它应该做的事情。它似乎什么都不做,完全无视正在发生的事情。

我有什么遗漏的吗?外部库是否需要具有任何安全属性?

更新 根据@Will的评论System.Diagnostics.Debugger.Break()

,了解如何附加调试器

修改
当您将app.config文件复制到正确的目录时,它也会有所帮助!!!

1 个答案:

答案 0 :(得分:2)

这里不是很多。首先,您可以调试您的服务,这是您应该做的,而不是使用winform前端来测试您的代码。

问题是您的服务未正确创建,或者您遇到安全问题。

您的服务将收到一条启动消息,之后它必须运行自己的代码,通常是在不同的线程上(Timer是执行此操作的常用方法)。

如果服务正在触摸驱动器,则其执行的用户帐户必须有权执行它尝试的操作。尝试将执行它的用户帐户更改为您自己的帐户,并查看它是否开始工作。