iNeuOS工业互联网操作系统,顺利从NetCore3.1升级到Net6的过程汇报
目 录
1..... 概述... 1
2..... 升级的工程... 3
3..... 升级的代码差异... 4
4..... 系统运行... 5
1. 概述
我们团队一直在工业领域从事实时系统和业务系统的开发与集成工作,开发语言使用过C51/C++/VB/VC++/C#(Net Framework)/C#(Netcore3.1)/C#(NET6)。前几天微软发布:.NET 诞生 20 周年,确实挺感慨。记得大概是2002在大学上学的时候,就开始自学C#,这么多年来一直存在使用开发语言优劣的激烈辩论,但是我们只是吃瓜群众。
积累了多年的行业和技术经验,2015年开始规划开发iNeuOS工业互联网平台,尽管由于各种原因,进度比较慢,但是这个方向是正确的。从2019年10月发布1.0版本到2022年2月发布3.6.5版本,全部使用netcore3.1开发。NET5是一个集成的整合版本,没有考虑升级,现在NET7预览版本已经发布,另外netcore3.1今年底面临终止支持,所以现在把iNeuOS升级到NET6框架,即将发布iNeuOS的3.7版本。
NET各版本支持情况,如下图:

iNeuOS发布版本过程,如下图:

2. 升级的工程
后台服务升级项目数量:36个项目,包括测试项目。
后台Api升级项目数据:12个项目,包括测试项目。
整个升级及测试过程大概用了一天的时间,如下图:

NET6版本,如下图:

3. 升级的代码差异
主要是差异点是对线程的操作,其他代码涉及到安全或是算法操作,例如Md5的使用。
原来对线程退出的操作,如下:
//原来使用线程的方式
//启动线程
Thread _thread = new Thread(new ThreadStart(RunThread));
_thread.Start(); //运行线程
private void RunThread()
{
while (true)
{
try
{
//code
}
catch(Exception ex)
{
}
}
} //退出线程
_thread.Abort();
升级后使用线程的方式,如下:
//升级后使用线程的方式
//启动线程
Thread _thread = new Thread(new ThreadStart(RunThread));
_thread.Start(); //运行线程
private void RunThread()
{
while (true)
{
try
{
//code
}
catch(ThreadInterruptedException)
{
break;
}
catch(Exception ex)
{
}
}
} //退出线程,原来的Abort不再支持
_thread.Interrupt();
4. 系统运行
系统登陆,如下图:

进入系统,如下图:

物联网&大数据技术 QQ群:54256083
物联网&大数据项目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:https://www.cnblogs.com/lsjwq
微信公众号:iNeuOS
iNeuOS工业互联网操作系统,顺利从NetCore3.1升级到Net6的过程汇报的更多相关文章
- iNeuOS工业互联网操作系统部署在华为欧拉(openEuler)国产系统,vmware、openEuler、postgresql、netcore、nginx、ineuos一站式部署
目 录 1. 概述... 3 2. 创建虚拟机&安装华为欧拉(openEuler)系统... 4 2.1 创建新的虚拟机... 4 2.2 ...
- iNeuOS工业互联网操作系统,智慧用电测控应用案例
目 录 1. 概述... 2 2. 系统部署结构... 2 3. 用电测控终端... 3 4. 系统应用介绍... 6 1. 概述 通过物联网技 ...
- iNeuOS工业互联网操作系统,矿山动态产量计量系统和铁路车辆识别系统应用场景案例
目 录 1. 概述... 2 2. 平台演示... 2 3. 矿山动态产量计量系统... 2 4. 铁路车辆识别系统... 4 1. 概述 iN ...
- iNeuOS工业互联网操作系统下发命令给iNeuLink硬件网关,进一步修改设备参数和控制设备
目 录 1. 应用场景... 1 2. DCS数据采集... 2 3. 硬件网关的配置... 2 4. 平台端配置... 3 1. 应用场景 i ...
- iNeuOS工业互联网操作系统,在线报表(Excel)开发工具
目 录 1. 概述... 2 2. 视频介绍... 2 3. 应用过程... 2 1. 概述 iNeuOS工业互联网操作系统在线报表(Excel)工具的开 ...
- iNeuOS工业互联网操作系统,设备运维业务和“低代码”表单开发工具
目 录 1. 概述... 2 2. 设备运维业务... 3 3. "低代码"表单开发工具... 6 1. 概述 iNeuOS工业互联网 ...
- iNeuOS工业互联网操作系统,面向4个领域颁发第一批技术认证资质
为了更好的紧密合作.利益多赢和共建生态.iNeuOS工业互联网操作系统面向:仪器仪表.双碳环保.核能科学与工程和钢铁冶金领域颁发第一批技术认证资质,一共21名同志在项目实施过程中表现突出,从iNeuO ...
- iNeuLink硬件网关与iNeuOS工业互联网操作系统互联互通应用案例
目 录 1. 应用概述... 2 2. 模拟硬件设备配置... 2 3. iNeuLink硬件网关配置... 4 3.1 硬件介绍... ...
- iNeuOS工业互联网操作系统,三维(3D)模型在线编辑应用和实时数据统计(和值、均值、众数、方差、中位数等)
目 录 1. 概述... 1 2. 三维(3D)模型在线编辑与应用... 2 3. 实时数据统计... 4 1. 概述 此次,iNeuOS工业互联网操作系 ...
随机推荐
- Guava Cache源码浅析
1. 简介 Guava Cache是指在JVM的内存中缓存数据,相比较于传统的数据库或redis存储,访问内存中的数据会更加高效,无网络开销. 根据Guava官网介绍,下面的这几种情况可以考虑使用Gu ...
- Python垃圾回收和Linux Fork
前言 在口袋助理看到了其他部门的同事针对Python2内存占用做的一点优化工作,自己比较感兴趣,遂记录下. Linux fork简介 fork是Linux提供的创建子进程的系统调用.为了优化创建进程速 ...
- 读 Linux 像读小说「GitHub 热点速览 v.22.03」
本周特推选取了一个画风有点意思的 Linux 代码带读项目 flash-linux0.11-talk,希望有趣的文风能带你读完 Linux 代码.当然画风可以增加阅读体验,彩色标记也是一种学习方法-- ...
- django框架--登录注册功能(ajax)
注册 实现一个注册功能 编写 html 内容 input 标签 csrf_token ajax 路由 视图: 提供页面 负责处理业务,返回响应 接收到 post 请求传递的参数 写库 返回 ...
- 《剑指offer》面试题54. 二叉搜索树的第k大节点
问题描述 给定一棵二叉搜索树,请找出其中第k大的节点. 示例 1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例 2: 输入: ...
- IE8中li添加float属性,中英数字混合BUG
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaCV的摄像头实战之一:基础
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于<JavaCV的摄像头实战>系列 &l ...
- AOP操作-准备工作
AOP操作(准备) 1,Spring 框架中一般基于 AspectJ 实现AOP操作 (1)什么是 AspectJ *AspectJ 不是 Spring 组成部分,独立AOP框架,一般把 Aspect ...
- AOP-基本概念
AOP(概念) 1,什么是AOP (1)面向切面(方面)编程 :利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率. (2)通 ...
- Flink 如何通过2PC实现Exactly-once语义 (源码分析)
Flink通过全局快照能保证内部处理的Exactly-once语义 但是端到端的Exactly-once还需要下游数据源配合,常见的通过幂等或者二阶段提交这两种方式保证 这里就来分析一下Sink二阶段 ...