首页 > 系统相关 >VS2010创建windows服务其实很简单 ProjectInstaller.cs Timer

VS2010创建windows服务其实很简单 ProjectInstaller.cs Timer

时间:2022-09-27 20:02:27浏览次数:68  
标签:服务 windows ProjectInstaller VS2010 System serviceProcessInstaller1 Timer Install

VS2010创建windows服务其实很简单 ProjectInstaller.cs

  【IT168 技术】很多人会对使用Visual Studio有不少的烦恼,下面我们来看一下作者是如何创建windows服务的,看后你一定觉得它其实很简单。

  下面是一个用VS2010做windows服务的简单例子和一些注意事项:

  1.新建一个windows服务

         

  2.添加代码

  vs会自动生成一些代码

  在Service1.cs中会看到如下代码

  

protected override void OnStart(string[] args)

  {

  }

  protected override void OnStop()

  {

  }

其中OnStart为启动服务时调用的方法;OnStop为停止服务时调用的方法。

  每个服务都还有其他方法,比如暂停、恢复等,可以重载基类的方法来实现,如暂停:

  

 protected override void OnPause()

  {

  base.OnPause();

自己的业务逻辑就可以在这些方法中调用实现。

  ps:在做windows服务时常常是要弄一个循环还处理某些业务逻辑,常见的方法是用一个Timer控件,值得注意的是Toolbox中的Timer控件默认是System.Windows.Forms.Timer,显然在这里是不会起作用的,这里可用System.Timers.Timer,可以直接在Toolbox中右键添加。

        

  3.添加Installer

  这一步很关键,在处理完业务逻辑后需添加一个Installer才能使你的windows服务能够被安装。

  在VS中添加Installer也很简单,操作如下:

  右键Service1.cs

         

  再到View Desiger视图中右键

  Installer就添加好了。

  4.设置服务参数

  可以在程序中先给定windows服务的参数

  在添加Installer时会自动生成一个ProjectInstaller.cs,在这个文件中有个InitializeComponent方法,如下:

       private void InitializeComponent()

  {

  this.serviceProcessInstaller1 = new System.ServiceProcess.ServiceProcessInstaller();

  this.serviceInstaller1 = new System.ServiceProcess.ServiceInstaller();

  //

  // serviceProcessInstaller1

  //

  this.serviceProcessInstaller1.Password = null;

  this.serviceProcessInstaller1.Username = null;

  //

  // serviceInstaller1

  //

  this.serviceInstaller1.ServiceName = "Service1";

  //

  // ProjectInstaller

  //

  this.Installers.AddRange(new System.Configuration.Install.Installer[] {

  this.serviceProcessInstaller1,

  this.serviceInstaller1});

  }

 

   

         this.serviceProcessInstaller1.Password = null;

         this.serviceProcessInstaller1.Username = null;

  为设置服务的登陆账号密码,如果不想设置用户名密码也可以采用本地系统帐户运行服务,代码如下:

  

this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;

  其他设置也可在此完成。

  5.安装和卸载windows服务

  制作完成的windows服务发布后为一个exe文件,要想到目标机器上安装使用这个服务,可以用微软提供的installutil工具,通过命令行的方式实现安装和卸载。

  installutil工具在目录:系统盘:\WINDOWS\Microsoft.NET\Framework\v4.0.30319下,运行cmd,输入

  C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil xxxx.exe 回车,即可完成windows服务的安装。

  卸载则为输入 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\installutil /u xxxx.exe 回车。

  ps:可以保存为bat文件执行则更为方便。可参考:C# Windows服务安装、卸载批处理代码  

        一个简单的windows服务就制作完成了,开始打开你的VS自己动手试试吧。

https://tech.it168.com/a2011/0418/1179/000001179391.shtml

标签:服务,windows,ProjectInstaller,VS2010,System,serviceProcessInstaller1,Timer,Install
From: https://www.cnblogs.com/sunny3158/p/16735753.html

相关文章

  • 第02章 Windows11的基本使用
    第02章Windows11的基本使用第01阶段Java语言核心技术1.Windows11的介绍Windows11是由微软公司(Microsoft)开发的操作系统,应用于计算机和平板电脑等设备。也是全世界......
  • VS2008 - VS2010默认环境设置
    我们在安装VS2008后会默认让我们选择一个默认开发环境如果我们想做另外一种开发时,就得切换成另外一种开发环境 在开始菜单打开:MicrosoftVisualStudio2008>>Visual......
  • 1. Windows机器安装配置freeSSHd服务
    1.      Windows机器安装配置freeSSHd服务第一步,官网下载http://www.freesshd.com/?ctt=download,选择freeSSHd.exe。 第二步,选择以管理员身份运行,使用administr......
  • [备忘]端口占用的解决方法(Windows,CentOS,Redhat)
    Windows查看被占用端口对应的PID(比如8080)netstat-aon|findstr8080查看是哪个进程占用的,然后决定要不要释放tasklist|findstr8080释放端口taskkill-pid......
  • windows下mysql的数据主主同步
    mysql主主备份:保证各服务器上的数据库中的数据一致,因此需要开启数据库同步机制。由于是一整套系统,并且系统内含数据库。由于任何一台服务器都有可能被选中,因此要让所有的......
  • Linux、Windows下Redis的安装即Redis的基本使用详解
    前言什么是RedisRedis是一个基于内存的key-value结构数据库。Redis是互联网技术领域使用最为广泛的存储中间件,它是「RemoteDictionaryService」的首字母缩写,也就......
  • 「国产系统」Tubian 0.3,兼容Windows和Android的GNU/Linux系统!
    Tubian是我的自用系统整理而成的Linux发行版,基于Debian,对Windows和Android应用提供了较为完善的兼容。可以直装QQTIM微信MSOFFICE等大量Windows应用,并且几乎实现对Android......
  • 【Azure 应用服务】App Service频繁出现 Microsoft.WindowsAzure.Diagnostics.Diagnos
    问题描述在使用AppService的过程中,发现应用频繁出现503错误,通过Kudu站点获取到Logfiles。在Eventlog.xml文件中,发现大量的Microsoft.WindowsAzure.Diagnostics.Diag......
  • windows安装ngxin
    1.去nginx官网下载http://nginx.org/en/download.html下载后解压到本地2.安装部署1、下载完成后,解压缩,运行cmd,使用命令进行操作,不要直接双击nginx.exe,一定要在dos窗......
  • Java 狂神 Day01 Windows快捷键
    Windows快捷键ctrl+E:打开我的电脑ctrl+shift+esc:打开任务管理器alt+F4:关闭窗口alt+tab:切换窗口shift+del:永久删除win+D:返回桌面 ......