使用c#创建Windows服务的资源

有没有人知道任何可以解释如何使用c#创建Windows服务的好资源和文章。 谢谢

我建议你谷歌的不同部分,网络上的不同地方有不同的信息焦点(和最新信息的水平)。 您需要了解以下主题:

  • Windows服务后台程序:服务如何在Windows中运行。 了解它们在用户界面,系统权限(运行服务的帐户及其权限),启动/关闭以及用户反馈方面的不同之处。

  • 您可能想要在服务中执行的一件事是使用Timer控件来执行定期任务。 放在窗体窗体上的“普通”计时器在服务中不起作用,因为该控件必须与UI窗口一起使用(服务缺少)。 您必须使用System.Timer控件。 谷歌这个更多信息。 我把它放在这里是因为你会浪费几个小时想知道为什么你的计时器不起作用,我们所有写过服务的人都经历过这个!

  • 调试 – 如何调试服务? 有几种选择。

  • 部署 – 服务的安装与Windows应用程序的安装不同,涉及更多。 这不是一个很大的谜团,只需要担心几件事情。

  • 与用户交互 – 服务不使用UI,因此您如何使用户能够控制服务(配置,启动/停止,查看日志等…)。

这些是我想到的一些主题,如果你阅读这些内容,你应该没问题。

我还建议您在虚拟机上测试服务部署,以便了解您的设置是否有效。

我喜欢这篇文章: http : //msdn.microsoft.com/en-us/magazine/cc301845.aspx

我强烈建议这样的方法用于调试目的:

服务与控制台选项

对不起链接质量,我似乎无法找到堆栈溢出相关的问题。 这有助于我编写和调试我的服务,并在测试环境中监控它们。

看看Topshelf 。

Topshelf是一个托管使用.NET框架编写的服务的框架。 简化了服务的创建,允许开发人员创建一个简单的控制台应用程序,可以使用Topshelf作为服务安装。 原因很简单:调试控制台应用程序比使用服务要容易得多。 一旦应用程序经过测试并可以投入生产,Topshelf便可以轻松地将应用程序作为服务进行安装。