C# 给windows服务传参

MicroSVC

0、安装、卸载、启动服务,参考:https://blog.csdn.net/weixin_42992927/article/details/132099960

1、客户端升级更新,上传更新包,客户端登录时提示更新

2、服务端升级更新,上传更新包,更新服务端站点

3、服务端定时任务,定时删除临时文件,SQL语句

4、服务端审计反馈,服务器资源超负荷时,推送消息到终点

5、共享资源管理,上传或下载共享资源

6、文件上传,上传文件到指定的站点 或者 目录

7、数据库同步、文件同步

发送文件到客户端
客户端 Sokect 服务端
启动 连接=》 记录
发送检测版本 软件名、版本号=》 检测
收到通知 《= 返回最新版本号
更新版本信息    
发送文件到服务端
更新升级发送文件 =》 接收文件名|类型|命令
     保存文件,更新版本信息
   《=  保存成功通知
   获取数据库的数据
 发送请求  =》  返回数据列表
接收数据 《=  

 

参考:https://blog.csdn.net/huang714/article/details/136797577

示例,windows服务

public partial class MyService : ServiceBase
{
    public MyService()
    {
        InitializeComponent();
    }
  
    protected override void OnStart(string[] args)
    {
        // 这里的args数组包含了传递给服务的参数
        if (args.Length > 0)
        {
            // 处理参数
            // 例如: 参数可能是配置文件路径或其他设置
            string mySetting = args[0];
            // ... 处理参数的代码 ...
        }
    }
}

 CMD 调用

sc start MyService param1 param2

 安装、卸载、关闭服务,参考:

https://www.cnblogs.com/NaturalSelection/p/4334572.html

https://www.cnblogs.com/amylis_chen/p/8972014.html

 

二、实现Windows 定时任务计划(Task Scheduler)

参考:https://www.cnblogs.com/mq0036/p/18041048

通过NuGet安装Microsoft.Win32.TaskScheduler

using System;
using Microsoft.Win32.TaskScheduler;
  
class Program
{
    static void Main(string[] args)
    {
        using (TaskService ts = new TaskService())
        {
            // 创建新的任务定义并指定任务的名称
            TaskDefinition td = ts.NewTask();
            td.RegistrationInfo.Description = "测试任务";
  
            // 创建触发器,设置任务的起始时间和频率
            DailyTrigger dailyTrigger = new DailyTrigger();
            dailyTrigger.StartBoundary = DateTime.Now;
            td.Triggers.Add(dailyTrigger);
  
            // 创建操作 - 运行程序
            td.Actions.Add(new ExecAction("notepad.exe", null, null));
  
            // 注册任务到根文件夹下
            ts.RootFolder.RegisterTaskDefinition("MyNotepadTask", td);
        }
    }
}

 这段代码创建了一个每天都会运行的任务,它会打开记事本。

posted @   microsoft-zhcn  阅读(110)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2023-04-13 C# 单独 exe 文件制作
点击右上角即可分享
微信分享提示