windows 服务的demo

C#开发Windows服务完整DEMO实战项目 项目是否达标✅OnStart不阻塞☐✅OnStop正确释放资源☐✅ 设置☐✅ 使用协调任务取消☐✅ 主动上报防止超时☐✅ 安装脚本自动提权☐✅ 日志记录到位☐✅ 支持 DEBUG 模式调试☐✅ 配置文件外置可修改☐✅ 遵循最小权限原则☐只要你把这些都打上勾,那你写的 Windows 服务,绝对稳如老狗🐶! 阅读详情
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;

using ComputerBLL;
using ComputerLibrary;
using System.Threading;

namespace ComputerNetworkMonitoringService
{
    /// <summary>
    /// 服务名称:Network Monitoring Service
    /// 执行脚本
    /// 安装:
    /// 卸载:
    /// </summary>
    public partial class MonitoringService : ServiceBase
    {
        Thread threadforwork;
        public MonitoringService()
        {
            InitializeComponent();
        }
        protected override void OnStart(string[] args)
        {
            if (threadforwork == null)
            {
                threadforwork = new Thread(DoWork);
            }
            threadforwork.IsBackground = true;
            threadforwork.Start();
            WorkLog("服务已开启!");
        }
        protected override void OnStop()
        {
            if (threadforwork != null)
            {
                if (threadforwork.ThreadState == System.Threading.ThreadState.Running)
                {
                    threadforwork.Abort();
                }
            }
            WorkLog("服务已停止!");
        }
        private void DoWork()
        {
            string frequencyConfig = System.Configuration.ConfigurationSettings.AppSettings["Frequency"];
            int frequency = 0;
            int.TryParse(frequencyConfig, out frequency);
            while (true)
            {
                string name = ComputerInfo.Name;
                string mac = ComputerInfo.MAC;
                string ip = ComputerInfo.PublicNetworkIP;
                try
                {
                    ComputerInfoBLL.InsertOrUpdate(ip, mac, name);
                }
                catch (Exception)
                {
                }
                Thread.Sleep(frequency * 60 * 1000);
            }
        }
        private void WorkLog(string msg)
        {
            Utilities.WriteLog(System.AppDomain.CurrentDomain.BaseDirectory + "Log", "服务工作状态.txt", "【创建时间" + string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now) + "】:"+msg);
        }
    }
}

 

注意: thread 可以解决服务应答超时问题。

安装服务的批处理代码:

v2.0.50727

@echo 服务器网络监控服务正在安装……
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil.exe ComputerNetworkMonitoringService.exe
Net Start "Network Monitoring Service"
sc config "Network Monitoring Service" start= auto
pause

v4.0.30319

@echo 服务器网络监控服务正在安装……
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe ComputerNetworkMonitoringService.exe
Net Start "Network Monitoring Service"
sc config "Network Monitoring Service" start= auto
pause

卸载服务的批处理代码:

v2.0.50727

@echo 服务器网络监控服务正在卸载……
Net Stop "Network Monitoring Service"
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil.exe /u .\ComputerNetworkMonitoringService.exe
pause


v4.0.30319v4.0.30319v4.0.30319

@echo 服务器网络监控服务正在卸载……
Net Stop "Network Monitoring Service"
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u .\ComputerNetworkMonitoringService.exe
pause





 

C++实现windows服务Demo C++实现windows服务Demo C++实现windows服务Demo C++实现windows服务Demo C++实现windows服务Demo C++实现windows服务Demo 立即下载

相关推荐

ServiceDemo

该代码时博文案例源码,相应博文地址:http://blog.youkuaiyun.com/android_jiangjun/article/details/45458063

3-Windows服务之官方Demo解析

每个服务都有一个控制处理函数,服务在ServiceMain函数中通过调用 RegisterServiceCtrlHandler 或 RegisterServiceCtrlHandlerEx 函数来注册其服务控制处理函数。在服务控制处理函数中,如果处理控制码导致服务状态发生变化,服务必须调用 SetServiceStatus 函数将其新状态报告给 SCM,同时可以启用或禁用接受其他控制码服务控制处理函数必须在 30 秒内返回,否则 SCM 认为发生错误。

weixin_40332490的博客 1241

创建windows服务程序的demo

创建windows系统服务的demo

开发windows桌面程序exe 环境部署,demo

在 Windows 操作系统中,开发桌面程序的常见开发语言包括 C++、C#、Java 等。本文以 C# 为例,演示如何在 Windows 系统中部署 C# 程序。1. 环境配置首先需要安装 Visual Studio 开发环境。可以从官方网站下载 Visual Studio Community 版本,然后按照默认设置进行安装即可。2. 创建项目打开 Visual Studio,选择新建项目,选择“Windows 窗体应用程序”模板,然后设置项目名称、路径等相关信息。3. 编写代码在新建的项目中,打开 Fo

黑客CN博客 1338

创建Windows系统服务demo2(c++版)

如何用c/c++ 创建windows系统服务。

java开发webservice入门最全讲解demo

java开发webservice入门最全讲解demo

WindowsService(Windows服务)开发步骤附Demo

1、打开VS,新建项目,选择Windows服务,然后设置目录及项目名称后点击确定。 2、展开Service1服务文件,编写service1.cs类文件,不是Service1[设计]。然后修改OnStart和OnStop方法。 3、编写服务代码,这里不多说,实现简单写日志的功能。。。看代码,如不明白,看Demo 4、配置WindowsService安装程序。切换到设计视...

weixin_30632899的博客 198

webservice全部demo(1)

webservice全部demo(1)

Windows服务Demo

1创建一个Windows服务 2.添加安装程序 3.更改参数 4.编写代码 5.打开bin,更改bat的路径 6.管理员模式运行bat文件 7.打开服务,找到刚刚发布的文件,如果发布失败,可以看bin里面的日志记录 8.开启服务,调试vs(附加到进程),找到刚刚的服务 9.调试成功,每次重新生成代码都需要关闭服务,再重亲开启才能调试 代码: ...

badalian5644的博客 299

ISO 26262中的失效率计算:Mission profile的使用

Mission profile:任务剖面,即产品在完成规定任务这段时间内所经历的时间和环境的时序描述;集成电路在工作时环境温度是在不停变化的,同时也存在运行状态和非运行状态;为此标准提出了根据任务剖面(Mission profile)以及集成电路的实际结温来评估热幅度变化、循环温度幅值等因素的影响;汽车电子元器件相关的Mission profile参考IEC TR 62380:Table 11。

weixin_47071127的博客 4810

单细胞转录组数据质控实战:如何用Seurat精准过滤低质量细胞(附完整代码)

本文详细介绍了使用Seurat进行单细胞转录组数据质控的实战方法,包括基因检出数、分子计数和线粒体基因比例等关键指标的解读与可视化技巧。通过动态阈值策略和高级质控技巧(如双细胞检测和红细胞过滤),帮助研究者精准过滤低质量细胞,提升数据分析可靠性。附完整代码示例,适合生物信息学研究人员参考实践。

ii567的博客 825

C# 创建Windows服务demo

一、准备工作 1.操作系统:Windows 10 X64 2.开发环境:VS2017 3.编程语言:C# 4. .NET版本:.NET Framework 4.5 二、创建Windows Service 1.新建一个Windows Service,并将项目名称改为“MyWinsService”,程序保存路径自己选一个,如下图所示: 2、在解决方案资源管理器内将Service1.c...

weixin_30426957的博客 334

串并装换器的设计及仿真结果

串/并转换是高速数据流处理的重要技巧之一。串/并转换的实现方法多种多样,根据数据的的顺序和数量要求,可以选用寄存器,双扣RAM,SRAM,FIFO,等实现。对于 数量比较小的设计可以采用移位寄存器完成串/并转换。       在工程中,如何体现串/并转换的设计思想呢? 怎样才能提高系统的处理速度呢 ?       一个简单的串/并转换框架如下图所示,串行输入的数据通过FPGA内部的 n 个移

stubben_bear的专栏 2273

【Demo】Windows Service 定时服务

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan 简介 从事web开发,有时会有需求是定时的处理某些事情,这次项目需求是定时的处理一些文件,用到的技术时windows sevice,参考了网上的一些文章,做了一个小Demo,和他们的很像,我只是站在巨人的肩膀上,不要告我侵权哦! 创建(VS2015为例子) 1.打开V...

至尊宝 2万+

射频收发机(RF Transceiver)

2,既然原来外差的思路是把声音频率的信号,通过混频搬移到高频电磁波频率,那对高频率信号放大的时候,是不是也可以先在比较低的射频频率进行放大,然后再通过频率搬移的方式,将放大后的信号搬移到高频率呢?频率搬移过程中,中间预先设定的固定射频频率被称为“中频”(中间频率,IF,Intermediate Frequency),由于这个频率超出了声音可听的范围,是“超声波”(supersonic),所以被命名为“超外差”(Super-Heterodyne)。混频后的信号在0频率附近,可能会发生DC偏移。

2301_77317229的博客 1122

FreeRTOS移植实战:从零开始在STM32上搭建多任务系统(含Proteus仿真配置)

本文详细介绍了如何在STM32平台上从零开始移植FreeRTOS,并搭建多任务系统,包含Proteus仿真配置。通过环境准备、源码移植、多任务设计到仿真调试的全流程实战,帮助开发者快速掌握FreeRTOS在STM32上的应用技巧,提升嵌入式开发效率。

weixin_33737134的博客 232

c#写windows服务 小demo

前段时间做一个数据迁移项目,刚开始用B/S架构做的项目,但B/S要寄存在IIs中,而IIs又不稳定因素,如果重启IIs就要打开页面才能运行项目。有不便之处,就改用Windows服务实现。这篇就总结下,windows服务的编写,调试,安装卸载。 Windows服务介绍 Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可...

weixin_30474613的博客 91

Google Earth Engine(GEE)—— 显示如何使用迁移的训练样本进行多年分类的脚本(sentinel-2影像为例)光谱差异()

HydroSHEDS 是一种地图产品,它以一致的格式为区域和全球范围的应用程序提供水文信息。它提供了一套不同比例的地理参考数据集(矢量和栅格),包括河流网络、流域边界、排水方向和流量累积。请注意,对于北纬 60 度以上的地区,HydroSHEDS 数据的质量明显较低,因为没有可用的基础 SRTM 高程数据,因此分辨率较低的 DEM(USGS 提供的 HYDRO1k)。该数据集基于 15 角秒(赤道约 500 米)分辨率栅格数据提供嵌套的分层分水岭多边形。光谱信息和之前不同的点:训练结果。

此星光明博客 966

C++ windows HTTP 服务器demo

【代码】C++ windows HTTP 服务器demo。

doubleintfloat的博客 756

知识图谱中的 Ontology(本体论)

1980年,本体论(Ontology)哲学概念“本体”被引入到人工智能领域用来刻画知识。本体概念模型、明确、形式化、共享。本体是实体存在形式的描述,往往表示为一组概念定义和概念之间的层级关系,本体框架形式树状结构,通常被用来为知识图谱定义schema。如人、公司、车等都可以在具体场景下称为本体。Ontology是(特定领域)信息组织的一种形式,是领域知识规范的抽象和描述,是表达、共享、重用知识的方法。Ontology。

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 2030

使用FPGA实现MIPI DSI接口

通过使用FPGA,我们可以实现MIPI DSI接口,并在FPGA上生成相应的时序和电平转换电路。通过使用FPGA,我们可以实现MIPI DSI接口,并在FPGA上生成相应的时序和电平转换电路。在本文中,我们将探讨如何使用FPGA实现MIPI DSI接口,并提供相应的源代码。根据不同的发送状态,我们设置相应的输出信号。请注意,这只是一个基本的示例,用于说明如何使用FPGA实现MIPI DSI接口的发送功能。请注意,这只是一个基本的示例,用于说明如何使用FPGA实现MIPI DSI接口的发送功能。

ZdqDeveloper的博客 1698

windows搭建dubbo服务demo

1.安装zookeeper。 将/conf目录下的zoo_sample.cfg文件改名为zoo.cfg,修改scf.cfg文件,添加dataDir,dataLogDir。 进入bin/zkService.cmd启动(单机) 2.创建一个dubbo-demo项目(spring项目),建立三个moudle:dubbo-api、dubbo-consumer、dubbo-provider。...

weixin_30699443的博客 73

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Windows服务编程Demo

实现一个开机自动启动的关机程序,具体代码如下: 1 #include <Windows.h> 2 3 void ServiceMain(); 4 void ControlHandler(DWORD request); 5 void RunService(); 6 void Shutdown(); 7 BOOL IsInstall(); ...

weixin_33834910的博客 118

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WCF 服务 宿主在windows service中的Demo

由于需要,需要把WCF服务宿主在windows service 中,下面说明一下,Demo的步驟: 1. 写WCF服务   创建一个接口类,与一个实现类。接口类上打上[ServiceContract]标签,需要暴露的服务方法上打上[OperationContract] (注意:增加System.ServiceModel 类的引用 代码如下: using System;

otong的专栏 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: 如何添加一个带有滚动条的文本框
下一篇: 强大的正则表达式---平衡组
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值