C#开发Windows服务入门摘要
参考:http://www.taiwanren.com/blog/article.asp?id=8686
1. 用VS建立一个 Windows Service 类型(中文版为Windows服务)的项目,建立完成后的项目目录类似于:
2.切换到Services1.cs的设计界面, 并打开其属性选项卡:
3. 点击属性页上的添加安装程序链接,具体介绍在参考的文章里写的很详细:"之后,你将获得两个文件Service组件和Program.cs.我们要建立服务的话,首先需要添加专用的安装组件,这步同样很简单,选择服务组件,并切换到设计模式,右键->Add Installer,生成了了安装文件,切换到设计模式,这里你将看到两个组件:ServiceInstaller和ProcessInstaller,这里没有太多需要说明的,大部分是对服务的名称,描述等信息的设置,只有2个地方需要注意下.一个是StartType,有三种选择自动,手动,禁用.如果想要自动启动,那么遍选择Automatic即可.另一个需要注意的属性是Account,选择用户,一般情况下,我们选择Local System即可."
4. 书写自己的业务逻辑代码
5. 编译生成程序并进行服务安装. 此处文章给出了一个较好的生成脚本(YourServiceName为你自己服务的名称):
6. 调试. 服务的调试非常的麻烦,网上有很多文章,通过VisualStudio的调试中的"进程附加" 应该可以满足大多数的要求. 如果要调试OnStart和OnStop方法, 需要一些其他的手段,在此不作介绍(我也没弄懂)。
1. 用VS建立一个 Windows Service 类型(中文版为Windows服务)的项目,建立完成后的项目目录类似于:
2.切换到Services1.cs的设计界面, 并打开其属性选项卡:
3. 点击属性页上的添加安装程序链接,具体介绍在参考的文章里写的很详细:"之后,你将获得两个文件Service组件和Program.cs.我们要建立服务的话,首先需要添加专用的安装组件,这步同样很简单,选择服务组件,并切换到设计模式,右键->Add Installer,生成了了安装文件,切换到设计模式,这里你将看到两个组件:ServiceInstaller和ProcessInstaller,这里没有太多需要说明的,大部分是对服务的名称,描述等信息的设置,只有2个地方需要注意下.一个是StartType,有三种选择自动,手动,禁用.如果想要自动启动,那么遍选择Automatic即可.另一个需要注意的属性是Account,选择用户,一般情况下,我们选择Local System即可."
4. 书写自己的业务逻辑代码
5. 编译生成程序并进行服务安装. 此处文章给出了一个较好的生成脚本(YourServiceName为你自己服务的名称):
1 net stop YourServiceName
2 copy /y "$(TargetDir)" "$(ProjectDir)bin"
3 "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe" /u $(ProjectDir)bin\$(TargetFileName)
4 "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe" $(ProjectDir)bin\$(TargetFileName)
5 net start YourServiceName
6
2 copy /y "$(TargetDir)" "$(ProjectDir)bin"
3 "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe" /u $(ProjectDir)bin\$(TargetFileName)
4 "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe" $(ProjectDir)bin\$(TargetFileName)
5 net start YourServiceName
6
6. 调试. 服务的调试非常的麻烦,网上有很多文章,通过VisualStudio的调试中的"进程附加" 应该可以满足大多数的要求. 如果要调试OnStart和OnStop方法, 需要一些其他的手段,在此不作介绍(我也没弄懂)。