当前位置: 首页 > news >正文

多线程任务执行窗体框架jjychengTaskWinForm

在这里插入图片描述

多线程任务执行窗体框架jjychengTaskWinForm

  • 作者:jjycheng
  • 博客:https://blog.csdn.net/cplvfx

开源地址

  • gitee:《多线程任务执行窗体框架jjychengTaskWinForm》

研发背景:

我们在做些小应用的时候,需要查看程序执行时间、执行日志和错误日志。这个框架完全可以满足你的需求。

示例应用:

  1. 爬虫项目
  2. 数据对比
  3. 数据迁移
  4. 数据批量操作
  5. 文件批量操作
  6. …等等

框架功能介绍:

1.多线程业务处理

在这里插入图片描述

2.时时运行日志

在这里插入图片描述

3.时时错误日志

在这里插入图片描述

4.数据库操作,使用的ORM是SqlSugar,支持多种数据库;

网址:https://www.donet5.com/Home/Doc

关系型数据库MySql、SqlServer、Sqlite、Oracle 、 postgresql、达梦DB2、Duckdb 人大金仓(合作关系)、海量数据库Vastbase(合作关系)MongoDb、神通数据库、瀚高、Access 、OceanBase、虚谷数据库 MySqlConnector、华为 GaussDB 、南大通用gbase8sMariaDB、Tidb、Odbc、Percona Server Amazon AuroraAzure Database for MySQL、PolarDB、Google Cloud SQL for MySQLkunDB、TDSQL、GoldenDB 、Doris、Hana 和 自定义数据库
适合分布式OceanBase 、Tidb、GaussDB 、Doris
时序数据库TDengine (支持群集,缺点不支持更新,语法比较弱支持的东西少)QuestDb(适合几十亿数据分析,模糊查询,适合单机,语法强大)
列式存储库Clickhouse(适用于商业智能领域(BI) Duckdb
文档数据库MongoDb
即将上线Sybase、FireBird、InfluxDBlitedb、 ElasticSearch

5. 程序运行耗时查看

在这里插入图片描述

框架截图:

程序运行后初始截图:
在这里插入图片描述

程序运行截图:
在这里插入图片描述

程序运行最大化截图:

在这里插入图片描述

技术栈和依赖第三方包说明:

技术栈介绍:

  • 编程语言:C#
  • 开发框架:.NET Core 8.0(跨平台运行时环境)
  • UI框架:Windows Forms(WinForm,用于构建Windows桌面应用程序)

依赖第三方包:

  • Microsoft.AspNetCore.StaticFiles(v2.3.0)
    • 描述:ASP.NET Core static files middleware. Includes middleware for serving static files, directory browsing, and default files.
    • 作者:Microsoft
  • SqlSugarCore(v5.1.4.202)
    • 描述: .Net Core3.1 .Net5 .Net6 .Net7 .Net8 .Net9 .Net10 安装此版本,好用的ORM框架 ,支持国外主流和国产人大金仓达梦 OceanBase GaussDB QuestDb ClickHouse Oracle MySql Gbase8s SqlServer Sqlite DB2 DuckDb Hana 等, 使用教程:https://www.donet5.com/Home/Doc?typeId=1226
    • 作者: sunkaixuan
  • Newtonsoft.Json(v13.0.3)
    • 描述:Json.NET is a popular high-performance JSON framework for .NET
    • 作者: James Newton-King

使用说明:

框架目录结构:

jjychengTaskWinForm项目|-- Enums (枚举库)|-- Factory(业务工厂)|-- Common(工厂公共方法)|-- SqlSugarBase.cs(数据库操作基类)|-- Test(示例测试代码)|-- Models(业务模型文件夹)|-- MySqlTest.cs(MySql数据库测试代码)|-- SqlServerTest.cs(SqlServer数据库测试代码)|-- Helper(帮助库)|-- FileUtil.cs(文件操作帮助类)|-- HttpHelper.cs(Http请求帮助类)|-- Models(模型库)

增加新任务:

第1步:在Factory文件夹下创建你的任务文件夹

你也可以像我一样

|-- Factory(业务工厂文件夹)|-- MyTaskName(你的任务文件夹)|-- Models(你的业务模型文件夹)|-- MyTaskRun.cs(你的业务代码)

或者你可以仿照我写的MySqlTest.cs,根据目录结构创建结构,然后,复制这个文件的代码进行修改,写入你的业务代码。

注意:

  1. 你的任务文件夹名,就是你的任务名称,你可以根据自己的需求命名。
  2. 你的业务模型文件夹,就是你的业务模型类所在的文件夹,你可以根据自己的需求命名。
  3. 你的业务代码文件,就是你的业务代码所在的文件,你可以根据自己的需求命名。
  4. 你的业务代码,就是你的业务代码,你可以根据自己的需求命名。

第2步:在Form1.cs里配置任务

打开Form1.cs,即右键文件》弹出下拉菜单》选择“查看代码”

Form1_Load()方法下面增加新任务

 List<KeyValueModel> comboBoxData = new List<KeyValueModel>() {new KeyValueModel(){Key = "SqlServer测试",Value = "SqlServerTest"},new KeyValueModel(){Key = "MySql测试",Value = "MySqlTest"},new KeyValueModel(){Key = "测试任务3",Value = "Test3"}};

button1_Click()方法里,修改下面代码

// Todo: 执行你的任务
switch (selectedValue)
{case "SqlServerTest":TimeNumberRun();SqlServerTest.Run(this, filePathTextBox.Text);break;case "MySqlTest":TimeNumberRun();MySqlTest.Run(this, filePathTextBox.Text);break;default:MessageBox.Show("未找到任务", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);break;
}

第3步:运行

运行程序》选择你的任务》点击“开始执行按钮”
在这里插入图片描述


文章转载自:

http://Irbe58WE.hxcrd.cn
http://RpjldkJU.hxcrd.cn
http://nzOESlIW.hxcrd.cn
http://FQqaj8ah.hxcrd.cn
http://vwJa39Cq.hxcrd.cn
http://t5kpN2zp.hxcrd.cn
http://GbqTvdGG.hxcrd.cn
http://1IiGGc53.hxcrd.cn
http://32HjA5cP.hxcrd.cn
http://KqUGSM4n.hxcrd.cn
http://jLdMD6z5.hxcrd.cn
http://2xBwgUZq.hxcrd.cn
http://0Eny9ZJN.hxcrd.cn
http://33Zp200O.hxcrd.cn
http://gWw6DFdd.hxcrd.cn
http://1OTovHD9.hxcrd.cn
http://C4cifpuy.hxcrd.cn
http://BisoSruZ.hxcrd.cn
http://erFA7MKL.hxcrd.cn
http://FqLl1p6U.hxcrd.cn
http://n8jNmUYy.hxcrd.cn
http://sMjXGrLz.hxcrd.cn
http://uGMHZ14v.hxcrd.cn
http://u59vgYB5.hxcrd.cn
http://TwCVtL40.hxcrd.cn
http://3kKCdc1V.hxcrd.cn
http://fRBsHggi.hxcrd.cn
http://Z063Uyc0.hxcrd.cn
http://hRNM0leX.hxcrd.cn
http://zaQjGXdr.hxcrd.cn
http://www.dtcms.com/a/370496.html

相关文章:

  • GPIO介绍
  • 浅析Linux内核scatter-gather list实现
  • MotionSound-简单易用的文本转语音工具
  • 【左程云算法03】对数器算法和数据结构大致分类
  • 2.2 Web和Http
  • CuTe C++ 简介02,gemm_device cuda kernel 的实现
  • uniapp开发APP隐私检测不通过解决
  • Monorepo 是什么?如何使用并写自己的第三方库
  • 【56页PPT】华为集成服务交付ISD业务变革总体方案(附下载方式)
  • 九月六号练习题
  • 深度学习——PyTorch保存模型与调用模型
  • Go基础(⑤Consul)
  • 验证平台中所有的组件应该派生自UVM中的类
  • 企业微信智能表格高效使用指南
  • 自动化运维之ansible
  • 2025年上海市星光计划第十一届职业院校技能大赛高职组“信息安全管理与评估”赛项交换部分前6题详解(仅供参考)
  • Orin-Apollo园区版本:订阅多个摄像头画面拼接与硬编码RTMP推流
  • 多线程(六) ~ 定时器与锁
  • OpenSSL 1.0.1e 下载解压和运行方法(小白适用 附安装包)​
  • Qt图表功能学习
  • 【营销策略算法】关联规则学习-购物篮分析
  • 部署AIRI
  • 深度学习基础概念回顾(Pytorch架构)
  • 基于LSTM深度学习的网络流量测量算法matlab仿真
  • 【PyTorch实战:Tensor变形】5、 PyTorch Tensor指南:从基础操作到Autograd与GPU加速实战
  • 【基础-判断】@Entry装饰的自定义组件将作为页面的入口。在单个页面中可以使用多个@Entry装饰不同自定义组件。
  • 驱动开发系列71 - GLSL编译器实现 - 指令选择
  • 贪心算法应用:化工反应器调度问题详解
  • OpenAvatarChat项目在Windows本地运行指南
  • canal+DataX实现数据全量/实时同步