使我的程序后台运行—Windows服务.ppt
《使我的程序后台运行—Windows服务.ppt》由会员分享,可在线阅读,更多相关《使我的程序后台运行—Windows服务.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第20章 使我的程序后台运行Windows服务Windows服务是长时间运行的程序,这些程序执行任务时不与用户交互。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这些特性使Windows服务非常适合在服务器上使用,每当需要使用不会影响在同一台计算机上工作的其他用户的功能时也适用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。章节内容20.1 什么是Windows服务20.2 创建我的第一个Windows服务20.3 安装和卸载服务20.4 启动和停止服务20.5 Windows服务应用实例:数据库备份20.1 什么是Windows服
2、务Windows服务是可以长时间运行的程序,可以在计算机启动时自动启动,也可以暂停、重新启动或者卸载,并且在执行任务时不显示任何用户界面。20.2 创建我的第一个Windows服务3个步骤:设置ServiceName属性;为服务应用程序创建必需的安装程序;重写OnStart和OnStop方法并为其指定代码,以对服务的行为方式进行自定义。示例:自定义事件日志Step1:新建一个Windows服务项目。单击菜单栏中的【文件】【新建项目】命令,打开【新建项目】窗口在【模板】列表框中选择【Windows服务】,在【名称】文本框中输入“FirstWinService”。在【解决方案资源管理器】窗口,可以
3、看到一个Service1.vb文件,这是Windows服务的代码文件,我们将其重命名为FirstWinService.vb。Step2:在【属性】窗口中,设置服务的ServiceName属性,如下图。该属性用于对系统标识服务的名称。Windows服务的其他属性CanStop:True指示服务将接受停止运行的请求;False指示禁止停止运行服务。CanShutdown:True指示服务希望在运行该服务的计算机关闭时收到通知,以便能够调用OnShutdown过程。CanPauseAndContinue:True指示服务将接受暂停或继续运行的请求;False指示禁止服务暂停运行和继续运行。CanHa
4、ndlePowerEvent:True指示服务可以处理有关计算机电源状态更改的通知;False指示禁止服务得到有关这些更改的通知。AutoLog:True表示在服务执行操作时将信息项写入应用程序的事件日志;False表示禁用此功能。这些属性用于确定服务的工作机制。默认情况下,AutoLog设置为True。当CanStop或CanPauseAndContinue设置为False时,服务控制管理器会禁用相应的停止、暂停或继续服务的菜单选项。Step3:属性设置完毕后,我们还需要为OnStart和OnStop过程填写所需的处理。由于该服务要实现自定义事件日志的功能,这可以由EventLog组件来实现
5、。在工具箱的【组件】选项卡,将EventLog组件拖到服务设计器中。Step4:编写构造函数以定义一个用户事件日志。可以选择方法声明下拉列表中的New以添加一个空的New方法。下面是构造函数的代码,定义了一个用户事件日志。1 Public Sub New()2 调用基类的构造函数3 MyBase.New()4 InitializeComponent()5 创建一个系统日志源6 If Not System.Diagnostics.EventLog.SourceExists(MySource)Then7 System.Diagnostics.EventLog.CreateEventSource(M
6、ySource,_8 MyNewLog)9 End If10 设置EventLog组件的源11 EventLog1.Source=MySource12 设置EventLog组件的日志名称13 EventLog1.Log=MyNewLog14 End SubStep5:重写OnStart方法,定义服务启动时发生的情况。1 Protected Overrides Sub OnStart(ByVal args()As String)2 写入日志,描述信息为“In OnStart”3 EventLog1.WriteEntry(In OnStart)4 End SubStep6:重写OnStop方法,定
7、义服务停止时发生的情况。1 Protected Overrides Sub OnStop()2 写入日志,描述信息为“In OnStop”3 EventLog1.WriteEntry(In OnStop.)4 End Sub除此之外,还可以重写OnPause、OnContinue和OnShutdown方法来定义当服务暂停、继续和系统关机时的处理。至此,我们的FirstWinService服务就基本完成了。单击菜单栏中的【生成】【生成解决方案】来生成项目。注意,不要通过按【F5】键来运行项目,因为Windows服务项目不能以这种方式来运行。20.3 安装和卸载服务Windows服务编写完成以后,
8、还需要安装以后才能启动。我们需要为FirstWinService添加一个安装程序,这是必需的。添加组件在【解决方案资源管理器】窗口中,右击【FirstWinService.vb】,在打开的右键菜单中单击【视图设计器】,打开视图设计窗口。在该窗口的任意一个空白的地方右击,在打开的右键菜单中单击【添加安装程序】。此时,项目中就添加了一个新类ProjectInstaller和两个安装组件ServiceProcessInstaller和 ServiceInstaller,并且服务的属性值被复制到组件。设置ServiceInstaller1组件的属性单击ServiceInstaller1组件,打开其【属
9、性】窗口,验证ServiceName属性的值已为与服务本身的ServiceName属性的值相同,并将StartType属性设置为Automatic。该属性用于确定启动服务的方式,可选值有以下几个。Manual:服务安装后,必须手动启动。Automatic:每次计算机重新启动时,服务都会自动启动。Disabled:服务无法启动。设置ServiceProcessInstaller1组件的属性在设计器中单击ServiceProcessInstaller1,打开其【属性】窗口,将Account属性设置为LocalService。该属性用于设置服务运行的安全上下文,可选值有以下几个。User,当服务已安
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 后台 运行 Windows 服务
限制150内