Windows Service 小品

我们通过 Windows 服务可以创建在 Windows 会话中长时间运行的应用程序。服务可以跟随计算机一起启动,并且可以暂停、停止和重启。Windows 服务和 Windows Form 程序最大的不同点是 Windows 服务没有任何用户界面。Windows 服务一般用于后台处理数据,例如批量信息发送、定时执行任务、进程监视等方面。并且还可以针对不同的登录账户执行不同的服务操作等。对于创建 Windows 服务没有哪个开发平台比 .NET Framework 更加便捷,尤其是利用 C# 开发 Windows 服务对于程序员来说说简单的飞起。 Windows 服务虽然开发很简单但是注意事项太多了,多说开发人员在开发的时候往往会忽略一些东西,那么这篇文章就带领读者详细讲解一下 Windows 服务。

Windows 服务体系结构包含三个模块:服务模块、服务控制模块和服务配置模块。下面我们来详细讲解一下这三个模块。

  1. 服务模块
    Windows 服务的核心模块,主要包含三个部分:入口函数 、Service 函数和处理程序。它们都由 SCM (服务控制器)控制,SCM 可以说是 Windows 服务核心的核心。它是操作系统的一个组成部分,用于和 Windows 服务进行通信,操作系统依靠 SCM 控制 Windows 服务进程的启动、停止和交互。
  • 入口函数,程序的入口,在这里可以注册多个服务函数;
  • Service 函数,它包含服务的实际功能。SCM 为每个需要启动的服务调用 Service 函数;
  • 处理程序,响应来自 SCM 的事件,所响应的事件包括:停止、暂停、重启等。

  1. 服务控制模块
    负责把控制请求(如:启动、停止、暂停和重启)发送给服务。服务控制模块独立于 SCM 和服务本身。它的主要作用有两个:
  • 询问服务的状态并实现响应自定义控制代码的处理程序;
  • 向服务发送控制代码并处理程序应该响应发送的事件。
  1. 服务配置模块
    负责安装服务,它会把服务复制到文件系统中,以及把服务的信息写到注册表中。其中注册表中的信息主要用于 SCM 开始和启动服务。这里需要注意:
  • 服务必须在注册表中配置不然服务将无法启动,这是因为注册表包含服务的启动类型;
  • 我们必须设置服务的用户、依赖关系。这些工作都是在服务配置程序中进行的。

.NET 中和服务相关的类都位于命名空间 System.ServiceProcess 中。它包含了四个类:ServiceBase 、 ServiceController 、ServiceProcessInstaller 和 ServiceInstaller。ServiceBase 类是服务的基类,它定义了一些可被重载的函数,通过重载这些函数服务控制管理器就可以控制 Windows 服务程序。常用的可重载的函数包括:OnStart()、OnStop()、OnPause() 以及 OnContinue() 。如果涉及特殊用途那么可以重载 OnCustomCommand() 函数来完成。ServiceBase 类还为我们提供了很多属性,常用的属性包括:ServiceName 属性(指定 Windows 服务名称)、 CanPauseAndContinue属性(是否允许暂停并恢复服务) 和 CanStop 属性(是否允许停止服务)。 ServiceController 使我们可以连接到正在运行或已停止的服务。通过它可以更改服务状态并获取有关服务的信息。创建服务控制器类的实例时,我们设置与安装的 Windows Service 交互属性。ServiceController 主要用于管理 SCM 的工具。 ServiceProcessInstaller 和 ServiceInstaller 主要用于服务的安装配置,它们执行特定于其所关联服务的操作。安装工具用来将与服务关联的注册表值写入注册表项。
具用来将与服务关联的注册表值写入注册表项。

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

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

相关文章

【嵌入式Linux开发一路清障-连载03】Ubuntu22.04使用Mount加载硬盘或NAS等硬盘

Ubuntu22.04使用Mount加载硬盘或NAS等硬盘 障碍06-学习资料存储在NAS中,如何方便的访问NAS或其它硬盘中的资料呢?摸索访问共享文件夹利用文件系统中尝访问局域网中的共享文件夹(成功)利用smb协议访问局域网中的共享文件夹&#xf…

帝国CMS7.5小品屋在线小品相声视频网站模板修复版

简介: 帝国CMS小品屋在线小品相声视频网站模板,带手机端。修复部分BUG,升级帝国CMS7.5版本。 后台自带部分测试数据,图片附件未入库,建议测试完成后删除。 火车头采集器已失效,已删除。CKPLAY播放器已失效…

小品-三句半-背诵apk

1. 需求 公司年会要求每个部门出一个节目,我们的界面是小品《三句半》,4个人,每人说一句,奈何台词太长了,故写了个背台词的demo.最终年会10个节目中,获得第二名,很开心。 1.1 apk 下载路径 h…

西湖奇缘(小品)

小青(男扮女),白娘子,许仙,路人甲(程序员),法海 背景西湖,断桥,远处是雷峰塔 白娘子在前,小青紧跟其后,从舞台左侧上台。 白娘子望着远处的断桥,面向观众说。…

计算机学院可以表演的小品,中央戏剧学院小品表演真题之单人小品

中央戏剧学院小品表演真题之单人小品 时间:2019-03-19 中央戏剧学院小品表演真题之单人小品 1.综合部分 (1)讲一件使人发笑的事情。(2讲一件自己最难过的事情。(3讲一段不寻常的经历。(4)打电话告诉对方一件极为愉快的事情。(5)打电话告诉对方一件十分悲痛的事情。(…

用计算机对话的小品,爆笑小品剧本台词《作弊记》

小品深入生活,贴近生活,体验生活,从生活中找灵感。要用艺术的眼光去发现题材,挖掘题材。 人物: 学生甲 学生乙 监考教师 (教室门前)(甲乙边走边聊,乙背着书包,甲两手空空,只在上衣贴…

基于chatgpt的全套智能创作saas源码系统,在这里

chatgpt无疑是2023年最热的项目之一,市面上有很多的基于chatgpt的产品,但是用着都感觉噱头大,不顺手。于是我们自己开发了一套基于chatgptmj绘画的系统。 如果你正在寻找一款领先的源码系统来不是搭建来赚钱,那么您看下我们的产品…

匿名的虚拟卡可以用来干什么?

境外虚拟卡(也称为国际虚拟卡)是一种在国际范围内使用的虚拟支付工具。与国内虚拟卡相比,境外虚拟卡通常具有更广泛的支付范围和更强的国际支付能力。虚拟信用卡具有非常多的优点,拿coincc币卡举例,首先是匿名申请&…

【无套路】免费用 GPT4,为啥这些网站的聚合做的这么好?!

相信很多人已经用上了 GPT-3.5,也就是 chat.openai.com 的免费内容,无需充值,用魔法上网后,按照之前的 教程 注册即可(美区代理 谷歌账号)。 一般到这里就停止了,因为要继续探索 GPT 的能力&a…

【奶奶看了都会】云服务器ChatGLM模型fine-tuning微调,让你拥有自己的知识库

1.背景 大家好啊,上次给大家写了ChatGLM-6B的部署使用教程,【奶奶看了都会】云服务器部署开源ChatGLM-6B,让你拥有自己的ChatGPT 但是因为模型比较小的问题,所以日常工作中可能用不上。而且大家更希望的是模型能训练自己的数据&…

沉痛悼念技术大牛左耳朵耗子(陈皓)

前言:今天转发一篇关于耗子叔的博文,个人觉得耗子叔是中文互联网世界的一个标杆,也是IT界重量级的人物,对于他的离去,深感遗憾和可惜。 版权声明:本文为CSDN博主「CSDN资讯」的原创文章,遵循CC …

突发!沉痛悼念技术大牛--左耳朵耗子

出品 | CSDN(ID:CSDNnews) 5 月 15 日早晨,一则意外消息打得我们猝不及防:MegaEase CEO、知名架构师、CSDN 资深博主(https://blog.csdn.net/haoel)陈皓老师(网名:左耳朵…

贝叶斯-这期内容非常重要!

这篇不仅对交易,而且对这个世界的认知有重要意义,有时间请一定把文章看完。 最近人工智能的普及让我昨天刷到中科院物理所发的这篇10w文章:封杀这个公式,ChatGPT智商将为零。看完我发现它对P(B)条件证据的解释欠佳,而…

纪念左耳朵耗子(陈皓)

5月17日,MegaEase 公司在 GitHub 创建了「纪念左耳朵耗子」仓库,用于记录关于陈皓本人的一些生平经历,您如果认识陈皓, 或曾经和陈皓打过交道,欢迎您通过PR来写出您和陈皓的故事。 仓库地址:https://githu…

ChatGPT揭示未来胜者的智能决策|小智AI

ChatGPT丨小智ai丨chatgpt丨人工智能丨OpenAI丨聊天机器人丨AI语音助手丨GPT-3.5丨OpenAI ChatGPT|GPT-4|GPT-3|人机对话|ChatGPT应用|小智ai|小智ai|小智ai|小智ai|小智AI|chatgpt小智AI 导语: 在当今快速变化的世界中,决策的重要性无可置疑。而随着人…

索引构造与信息检索:让 ChatGPT 成为 Selenium 问答助手

这是chatgpt为我生成的3个标题,我选了第3个。 利用 Langchain 和 GPT 实现 Selenium 机器人自动问答 向量化存储和检索:如何用相似度搜索匹配 Selenium 知识? 索引构造与信息检索:让 ChatGPT 成为 Selenium 问答助手 之前有很…

专利检索常用的网站有哪些?

科研文献浩如烟海,如何才能找到对自己有重要参考意义的文献,是每个科研工作者都必须要面对的课题,而从其中快速地、准确地获取最有用的信息,更是重中之重。 专利检索可以帮助看到你想要保护的发明创造是否已经有人在你之前申请、并…

专利检索大法,倾囊相受!

1.电脑端 中国及多国专利审查信息查询(单击跳转) 这是官方的一个查专利的网站。可以查询中国国家知识产权局、欧洲专利局、日本特许厅、韩国特许厅、美国专利商标局受理的发明专利审查信息。 第一次使用需要注册,按照引导即可。 可以搜索自…