Windows服务的快速搭建与调试(C#图解)

目录

一、什么是Windows 服务?

二、创建Windows 服务与安装/卸载批处理。

三、调试Windows 服务。

正文

一、什么是Windows 服务?

答:Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。

 

二、创建Windows 服务。

打开:Visual Studio 2010 => 新建 => 项目 => Windows 服务,如图:

点击确定 => 生成的Service1.cs 文件视图上右键 => 添加安装程序 => 生成的ProjectInstaller.cs视图页面设置serviceInstaller1 里的启动方式、Windows 服务名称,如图:

然后在设置serviceProcessInstaller1的账号信息,选择“本地系统,如图:

至此,安装程序与框架已经搭建完毕,然后就在Service1.cs的OnStart代码视图中编写自己的业务代码即可,如图:

 

至此,完整windows 服务已经制作完毕。

安装服务的批处理代码:

"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"  F:\xxx\xxx.exe 
net start "服务名称"

卸载服务的批处理代码:

net stop "服务名称"
"%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" /u  F:\xxx\xxx.exe 

 

三、调试Windows服务。

打开的Visual Studio 2010工具栏中的工具 => 附加到进程 => 点击确定,选择列表中的要调试服务名称 => 点击附加就可以调试了。程序中只需F9打点就可以调试,注意要windows服务保持版本一致哦。

如图:

 

 

结尾

Windows服务其实很简单,为需要的人整理一下,如果有用请点击支持,谢谢。

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 JMeter 进行API接口压力测试

使用 JMeter 进行API接口压力测试 一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施…

ser,ver

friend_conservation_bgfriend_conversation_bg.png, [self.bgButtonsetBackgroundImage:[[UIImageimageNamed:"conversation_bg.png"] stretchableImageWithLeftCapWidth:10topCapHeight:30] forState:UIControlStateNormal]; xy方向 找 两根线 来 拉伸,…

linux 删除node进程,关于node.js:杀死Linux中的节点进程

尝试使用节点server.js运行节点服务器时,我收到侦听EADDRINUSE ::: 4002的错误。 我通过以下命令在端口4002上监听进程:sudo lsof -i:4002。 之后,我尝试使用kill -9终止进程。 问题是当我在终止进程后再次运行sudo lsof -i&#…

MS SQL查询库、表、列数据结构信息汇总

前言 一般情况我们下,我们是知道数据库的表、列信息的(因为数据库是我们手动设计),但特殊情况下,如果你只能拿到数据库连接信息,也就是知道的一个数据库名的情况下,你要怎么得到它下面的所有表…

linux 程序占内存,linux下,一个运行中的程序,究竟占用了多少内存

1. 在linux下,查看一个运行中的程序, 占用了多少内存, 通常的命令有php(1). ps aux:html其中 VSZ(或VSS)列 表示,程序占用了多少虚拟内存。linuxRSS列 表示, 程序占用了多少物理内存。ios虚拟内存能够不用…

C#常用代码汇总

1、字符串首字母转为大写。 System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase("字符串"); 2、winform选取文件及文件夹。 // 选取文件OpenFileDialog openFileDialog new OpenFileDialog();openFileDialog.Filter "文本文件|*.*|C#文件…

如何搭建一个完整的Vue3.0 + ts 的项目

如何搭建一个完整的Vue3.0 ts 的项目 相信9月18日尤大大的关于Vue3.0的发表演讲大家一定有所关注,现在Vue3.0 也已经进入RC阶段(最终产品的候选版本,如果没有问题则可发布成为正式版本)。所以Vue3.0的学习是我们必然的趋势,今天&…

C#下2\10\16进制互转代码总汇

1、十进制转换其他:Convert.ToString(十进制数字, 2|8|16进制模式) //十进制转二进制Convert.ToString(69, 2);//十进制转八进制Convert.ToString(69, 8);//十进制转十六进制Convert.ToString(69, 16); 2、其他进制转换十进制:Convert.ToInt32(待转换数…

手机客户端和服务器端通信

2019独角兽企业重金招聘Python工程师标准>>> 手机客户端与服务器端的通信,不同于浏览器与服务器端的通信。浏览器和服务器端的通信依靠session去维持一个会话, 当这一切搬到手机上仿佛一切都失效了。 1.在上一家公司的时候公司同事曾经问过我…

linux下boot文件是什么文件,Boot.ini是什么文件?Boot.ini文件在哪里

Boot.ini 文件是系统启动引导程序文件,装多系统或者重装系统的时候会用到它。因此,由于系统启动而造成的问题也不在少数,那Boot.ini是什么文件呢?Boot.ini文件在哪里?下面就跟小编一起去了解一下吧!步骤如下…

Kubeflow使用Kubernetes进行机器学习GPU分布式训练

Kubeflow使用Kubernetes进行机器学习 Kubeflow是Google推出的基于kubernetes环境下的机器学习组件,通过Kubeflow可以实现对TFJob等资源类型定义,可以像部署应用一样完成在TFJob分布式训练模型的过程。最初的设计是将Kubernetes和Tensorflow结合实现对Te…

Net操作配置文件(Web.config|App.config)通用类

一、Net操作web.config通用类(代码如下): using System;using System.Configuration;using System.Web;using System.Web.Configuration;/// ConfigurationOperator 的摘要说明public class ConfigurationOperator : IDisposable{private Con…

hibernate 程序运行时的错误,及解决办法(不定期更新)

这个错误是因为&#xff1a;没有配置hibernate.cfg.xml中的最后一项 <mapping resource"org/hibernate/first/model/Student.hbm.xml"/>这个错误是因为&#xff1a;在配置hibernate缓存的时候出的错&#xff0c;我就把我这个缓存代码删除掉了。代码如下<pro…

嵌入式linux设计师,make在linux——《嵌入式linux设计与应用》

程序模块的内部关系决定了源程序编译和链接的顺序。通过建立makefile可以描述模块间的 相互依赖关系。make命令从中读取这些信息&#xff0c;然后根据这些信息对程序进行管理和维护。在makefile 里主要提供的是有关目的文件与依靠文件之间的关系&#xff0c;还指明了用什么命令…

kubernetes集群使用GPU及安装kubeflow1.0.RC操作步骤

kubernetes集群使用GPU及安装kubeflow1.0.RC操作步骤 Kubeflow使用场景 希望训练tensorflow模型且可以使用模型接口发布应用服务在k8s环境中(eg.local,prem,cloud) 希望使用Jupyter notebooks来调试代码&#xff0c;多用户的notebook server 在训练的Job中&#xff0c;需要对…

T-Sql备份还原数据库

代码如下&#xff1a; -- 备份数据库BACKUP DATABASE 数据库名称 TO DISK 物理存储位置 WITH FORMAT,CHECKSUM -- 还原数据库alter database 数据库名称 set offline with rollback immediate -- 设置数据库脱机RESTORE FILELISTONLY From disk 待还原文件地址 --查询待…

PHP拦截器的使用(转)

PHP有如下几个拦截器&#xff1a; 1、__get($property)功能&#xff1a;访问未定义的属性是被调用2、__set($property, $value)功能&#xff1a;给未定义的属性设置值时被调用3、__isset($property)功能&#xff1a;对未定义的属性调用isset()时被调用4、__unset($property)功能…

linux线程负载,linux 排查cpu负载过高异常(转载)

问&#xff1a;如何定位是哪个服务进程导致CPU过载&#xff0c;哪个线程导致CPU过载&#xff0c;哪段代码导致CPU过载&#xff1f;步骤一、找到最耗CPU的进程工具&#xff1a;top方法&#xff1a;执行top -c &#xff0c;显示进程运行信息列表键入P (大写p)&#xff0c;进程按照…

Net操作Excel(终极方法NPOI)

前言 Asp.net/C#操作Excel已经是老生长谈的事情了&#xff0c;可下面我说的这个NPOI操作Excel&#xff0c;应该是最好的方案了&#xff0c;没有之一&#xff0c;使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件&#xff0c;支持的文件格式包括xl…

WIN10自带远程桌面实现多用户登录

一台主机当两台用&#xff0c;利用WIN10自带远程桌面实现多用户登录 2020-04-27 10:51:24 54点赞 311收藏 35评论 先来说说家里电脑和网络的基本情况。 新房装修时就考虑到家庭多媒体和自己变态的各种网络需求&#xff0c;所以全屋用企业级的网络设备组成了千兆网&#xff0…