C# 创建 Windows Service 项目

news/2024/9/19 21:05:31/文章来源:https://www.cnblogs.com/vipsoft/p/18354755

C# 创建 WindowsService 服务项目
image
空白处,右键选择“添加安装程序”
image
可以看到两个控件,点击右击第一个控件,打开属性设计器,将其中的Account设置为LocalSystem(本地服务),
image
接下来,右击上面的第二个控件,打开属性界面,设置ServiceName,和将其中的StratType设置为Automatic,
image

public partial class Service1 : ServiceBase
{private readonly Timer _MyTimer;public Service1(){InitializeComponent();_MyTimer = new Timer(10*1000); //10秒钟启动一次_MyTimer.Elapsed += _MyTimerElapsed;}protected override void OnStart(string[] args){_MyTimer.Start(); WriteLog("Service1.OnStart");}protected override void OnStop(){_MyTimer.Stop();WriteLog("Service1.OnStop");}internal void _MyTimerElapsed(object sender, ElapsedEventArgs e){WriteLog("开始执行了");}public void WriteLog(string msg){string filePath = AppDomain.CurrentDomain.BaseDirectory + "Log";if (!Directory.Exists(filePath)){Directory.CreateDirectory(filePath);}string logPath = AppDomain.CurrentDomain.BaseDirectory + "Log\\" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt";try{using (StreamWriter sw = File.AppendText(logPath)){sw.WriteLine("消息:" + msg);sw.WriteLine("时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));sw.WriteLine("**************************************************");sw.WriteLine();sw.Flush();sw.Close();sw.Dispose();}}catch (IOException e){using (StreamWriter sw = File.AppendText(logPath)){sw.WriteLine("异常:" + e.Message);sw.WriteLine("时间:" + DateTime.Now.ToString("yyy-MM-dd HH:mm:ss"));sw.WriteLine("**************************************************");sw.WriteLine();sw.Flush();sw.Close();sw.Dispose();}}}}

安装脚本 0.Install.bat

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe WindowsServiceTest.exe
Net Start ServiceTest
sc config ServiceTest start= auto
pause

卸载脚本 1.Uninstall.bat

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u WindowsServiceTest.exe

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

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

相关文章

【日记】我也想喝 AD 钙(978 字)

正文周五写了一整天学海计划,周六跟了一天的编曲教程,今天则是把第三章剩下的教程跟完。最后,回旋曲写是写出来了,就是把自己听笑了。写得实在太烂了。昨天晚上买了回来的机票。9 月 10 号一早。该说不说机票是真的贵啊……同时,我发现我过去的机票,执飞飞机是波音 737-8…

Kubernetes-二进制高可用部署v1.23.x

目录高可用架构k8s集群组件ectdkube-apiserverkube-schedulerkube-controller-managerkubeletkube-proxykubectl高可用分析负载均衡节点设计1.环境准备1.1 环境规划1.2 所有节点配置host解析1.3 安装必备工具1.4 所有节点关闭防火墙、selinux、dnsmasq、swap1.5 Master01节点免…

使用Pandas和NumPy实现数据获取

公众号本文地址:https://mp.weixin.qq.com/s/Uc4sUwhjLTpOo85ubj0-QA以某城市地铁数据为例,通过提取每个站三个月15分钟粒度的上下客量数据,展示Pandas和Numpy的案例应用。数据:http://u6v.cn/5W2i8H http://u6v.cn/6hUVjk初步发现数据有三个特点::1、地铁数据的前五行是…

Datawhale X 魔搭 AI夏令营(二)

一.AI生图的伦理与道德 1.虽然AI生图的能力强大,但是极易被使用在不正当的场景,未来的挑战不仅仅是技术的突破,更有攻防技术的跟进。 二.使用通义千问工具对内核代码进行解析,更快速的搭建代码 1.通义千问是具有信息查询、语言理解、文本创作等多能力的AI助手 2.使用方法三…

docker 详细教程(通俗易懂,带有应用示例)

1、Docker 基本概念 什么是 Docker? Docker 是一个开源的容器化平台,允许开发者封装他们的应用程序及其所有依赖项到一个标准化的单元中,这个单元被称为“容器”。容器可以在任何支持 Docker 的环境中运行,从而确保应用程序的可移植性和一致性。 Docker 的优势一致性和可移…

for循环练习

static void Main(string[] arg){int intSum = 0;for (int i = 0; i <= 100; i++){intSum += i;}Console.WriteLine(intSum);Console.ReadKey();}static void Main(string[] arg){for (int i = 0; i < 100; i++){Console.WriteLine("我下次一定小心!");//打印&…

Pandas从入门到放弃

公众号本文地址:https://mp.weixin.qq.com/s/mSkA5KvL1390Js8_1ZBiywPandas简介 Pandas是Panel data(面板数据)和Data analysis(数据分析)的缩写,是基于NumPy的一种工具,故性能更加强劲。Pandas在管理结构数据方面非常方便,其基本功能可以大致概括为一下5类:数据 / 文…

代码随想录day27 || 455 分饼干,376 摆动序列,53 最大子序列和

分饼干 func findContentChildren(g []int, s []int) int {// 第一思路,双指针暴力解法var count intvar used2 = make([]bool, len(s))g = quicksort(g)s = quicksort(s)for _, child := range g {for idx, cookie := range s {if !used2[idx] && cookie >= child…

如何创建良好的数据模型?

本文将带你深入了解如何创建一个高效的数据模型,并以 NocoBase 为例,展示如何快速建立适合业务需求的数据结构。数据模型是构建高效和稳定系统的基础。它不仅决定了如何存储和管理数据,还直接影响系统的性能和可扩展性。 本文将带你深入了解如何创建一个高效的数据模型,并以…

使用nvm管理多个版本的nodejs

项目依赖某个版本的nodejs,而我本地需要用最新版,那么就存在多个版本nodejs要使用了,如何方便的进行管理呢?背景:项目依赖某个版本的nodejs,而我本地需要用最新版,那么就存在多个版本nodejs要使用了,如何方便的进行管理呢?使用nvm!下载地址:https://github.com/core…

T1破大防

咱就是说你直接写 \(1-n\) 的排列不好吗。。。 真破大防了,一开始对了然后造了一组无解数据 1,1,3,5 我甚至还在找题目有没有写保证有解或无解输出-1之类的。。然后越改越假 以后建议多看看题目