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

多线程任务执行窗体框架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://www.xdnf.cn/news/20260.html

相关文章:

  • 浅析Linux内核scatter-gather list实现
  • SQL 实战指南:电商订单数据分析(订单 / 用户 / 商品表关联 + 统计需求)
  • WordPress过滤文章插入链接rel属性noopener noreferrer值
  • 开源与定制化对比:哪种在线教育系统源码更适合教育培训APP开发?
  • 企业微信智能表格高效使用指南
  • Kafka Exactly-Once 语义深度解析与性能优化实践指南
  • 串口发送数据
  • 如何离线安装 VirtualMachinePlatform
  • 基于STM32单片机的家庭医护血氧体温血压吃药监测APP系统
  • 万字长文详解 MyCat 分表分库:从 0 到 1 构建高可用订单系统
  • 能发弹幕的简单视频网站
  • 计算机网络:调制解调器
  • Docker-volume数据卷
  • 为什么固态硬盘断电后数据还能保存不丢失?
  • 【LeetCode热题100道笔记】二叉树展开为链表
  • 激光频率梳 3D 轮廓测量 - 油路板的凹槽深度和平面度测量
  • Spring核心-Bean周期
  • ElmentUI之DateTimePicker 日期时间选择器
  • 避免使用非const全局变量:C++中的最佳实践 (C++ Core Guidelines)
  • SQLSERVER数据备份
  • Java8 Comparator接口 和 List Steam 排序使用案例
  • 人工智能在医学图像中的应用:从机器学习到深度学习
  • 技术方案详解:如何安全移动已安装软件?
  • C语言精讲(视频教程)
  • 打包 Uniapp
  • Redisson分布式锁:看门狗机制与续期原理
  • nginx安装部署(备忘)
  • ecplise配置maven插件
  • 【知识点讲解】稀疏注意力与LSH技术:从基础到前沿的完整指南
  • MHA高可用架构