2010-02-08 75 views
2

我已经使用Visual Studio 2008在C#中构建了Windows服务。我已经构建它,导航到使用Visual Studio命令提示符存储它的文件夹,并使用命令:installutil MyWindowsService.exe。它安装得很好,我可以在服务管理器中看到它。但是,当我运行它时,它不会执行我的任何代码。该代码应该发送一封电子邮件到我的Gmail地址,以确认它确实可行。我已经在控制台应用程序中测试了这段代码,它工作得很好。然而,该服务不会执行它。安装和启动后,Windows服务将不会执行代码

任何想法,我应该尝试什么?

在此先感谢。

+0

是否有错误或异常? – Oded 2010-02-08 19:49:43

回答

2

在什么帐户权限下安装服务?如果是本地服务,这可能会解释您的问题,因为我不相信本地服务允许网络访问。如果您需要网络访问权限,则需要为服务用户使用网络服务,但请注意,当您这样做时,您放弃了本地服务器的某些管理权限。

作为服务信任模型的一部分,您可以在没有网络权限的本地计算机上拥有非常好的权利,或者在本地计算机上拥有严格限制权限的网络权限。

如果您同时需要,那么您必须让您的服务作为本地创建的用户运行,您可以在其中自行控制权限。

+0

结果发生了什么事是,它安装在(LocalHost)下的用户帐户不允许网络连接。你完全正确。谢谢。 – 2010-02-16 01:46:33

4

检查事件查看器的错误。如果这不会导致问题,请在您的OnStart()方法中添加Debugger.Break(),以便在服务启动后立即连接调试器。