windows service编程
2021-04-26 06:29
标签:ati 服务器 serve exec 引用 管理 基本 manage count 创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。 这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。 适合在服务器上使用且不需要界面的,长时间稳定运行的情形。 1)安装 使用InstallUtil.exe命令,在命令提示符工具中执行安装命令。具体如下 首先,执行命令cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 然后,执行InstallUtil.exe path 其中path为待安装服务应用路径。注意,windows server 2012 使用如下安装命令:.\InstallUtil.exe path 2)卸载 InstallUtil.exe /u path 注意,windows server 2012 使用如下安装命令: .\InstallUtil.exe /u path 3) 如何管理服务 使用“服务控制管理器”启动、停止、暂停、继续和配置服务,如下图所示:
使用多线程启动、停止、暂停、继续 protected override void OnStart(string[] args):启动 protected override void OnStop():停止 protected override void OnPause():暂停 protected override void OnContinue():继续 第一步,双击下图中红框位置。
第二步,在如下的页面中,单击右键。 弹出下图,点击红框位置
第三步,如下界面配置安装程序。
下面两个图的参数含义为: Account:账户类型。公有四种,入下图 成员名称 说明 LocalService 一个可用作本地计算机上的非特权用户,并向任意远程服务器提供匿名凭据的帐户。 LocalSystem 一个帐户,使用服务控制管理器,该本地计算机上拥有许多特权并作为网络上的计算机。 NetworkService 提供多种本地特权,并提供给所有远程服务器的计算机的凭据的帐户。 User 定义特定用户在网络上的帐户。 指定 User 为 ServiceProcessInstaller.Account 成员会导致系统提示输入有效的用户名和密码时安装了服务,除非您将值设置为 Username 和 Password 属性您 ServiceProcessInstaller 实例。 DelayedAutoStart:该值指示服务是否应推迟之前运行其他自动启动的服务无法启动。true 对延迟自动启动服务;否则为 false。 默认值为 false。 Description :解释服务作用的简短注释。 DisplayName :标识服务的名称。 ServiceName :系统用来标识此服务的名称。 ServicesDependedOn :此服务依赖的服务。 StartType :如何以及何时启动此服务。 成员名称 说明 Automatic 指示服务将由(或已由)操作系统在系统启动时启动。 如果一个自动启动的服务依赖于手动启动的服务,则该手动启动的服务也会在系统启动时自动启动。 Disabled 指示服务已禁用,因此无法由用户或应用程序启用。 Manual 指示服务仅由用户(使用服务控制管理器)或应用程序以手动方式启动。 获得配置文件中配置的服务名称,代码如下: 注意: 上述代码中不使用System.Configuration.ConfigurationManager.AppSettings[Key]读取配置文件是因为,在程序刚启动时此方式不能读取配置文件,所以要用本文中使用的方法。 思路: 在OnPause方法中将FlowController.IsToPause = true,表示服务应该暂停。在OnContinue方法中调用FlowController.Continue方法。 在代码中,需要暂停的位置调用FlowController.Pause,当点击“暂停的时候”,发出暂停命令,程序运行到FlowController.Pause方法时便停在此处。 Pause方法中使用AutoEvent.WaitOne()阻塞线程,直到收到信号。 Continue方法中使用AutoEvent.Set()发出信号,允许线程继续执行。 流程控制器,代码如下: ----------------------------------------------------------------------------------------- 转载与引用请注明出处。 时间仓促,水平有限,如有不当之处,欢迎指正。 windows service编程 标签:ati 服务器 serve exec 引用 管理 基本 manage count 原文地址:http://www.cnblogs.com/hdwgxz/p/7897075.html1 基本概念
1.1windows服务简介
1.2适用情形
1.3如何安装及卸载服务
2 创建服务
2.1四个方法
2.2 添加安装程序
3 一些技巧
3.1 服务名称配置化
public class ServiceNameSetting
{
///
3.2 长任务暂停与继续
public class FlowController
{
public static bool IsToPause = false;
public static AutoResetEvent AutoEvent = new AutoResetEvent(false);
///
下一篇:Go语言学习目录【置顶】