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工业互联网操作系 ...
随机推荐
- RHCSA 第六天
一. 创建下列用户.组和组成员资格: 1.创建名为 sysmgrs 的组 2.创建用户 natasha 同时指定sysmgrs作为natasha的附加组 3.创建用户 harry 同时指定 sysm ...
- ssh代理转发
实验环境 serverA:172.16.2.116 serverB:172.16.2.225 serverC:172.16.2.115 "代理转发"是针对ssh认证过程的一种转发 ...
- Arrays.sort(arr)是什么排序
在学习过程中观察到Arrays.sort(arr)算法可以直接进行排序,但不清楚底层的代码逻辑是什么样子,记得自己之前在面试题里面也有面试官问这个问题,只能说研究之后发现还是比较复杂的,并不是网上说的 ...
- C++ STL:std::unorderd_map 物理结构详解
拉链法的 unordered_map 和你想象中的不一样 根据数组+拉链法的描述,我们很快能想到下面这样的拉链法实现的哈希表,但真的是这样吗?一起看下源码里的实现是怎么样的. 深入STL源码 代码不会 ...
- Idea内存设置idea.vmoptions无效的解决办法
原因:貌似是因为maven的问题 解决办法 结果
- 掌握这些常用Linux命令,一起提升工作效率
开始上班了,新一年的奋斗的之路启程了,要继续[奔赴山海,奔赴热爱]. 汪国真在<热爱生命>这首诗中写到:既然选择了远方,便只顾风雨兼程.技术上还是持续精进和学习,远方虽远,要迈开脚步,一步 ...
- 「ZJOI2014」璀灿光华
「ZJOI2014」璀灿光华 实际上,可以不用建水晶立方体... 因为,发光水晶的方向都要枚举一遍. 只需知道发光水晶每个方向有哪些水晶就可以了. 对于一个发光水晶,将它连接的水晶标号. 从该水晶bf ...
- c语言之sizeof总结+strlen函数
一.sizeof的概念 Sizeof是C语言的一种单目操作符,如C语言的其他操作符++.–等.它并不是函数.Sizeof操作符以字节形式给出了其操作数的存储大小.操作数可以是一个表达式或括在括号内的类 ...
- simpholders 官方网址 https://www.simpholders.com/
SimPholders可让你快速直接地访问iPhone模拟器应用的app文档.你可以通过SimPholders找到数据库文件.永久存储以及缓存,它是一个非常实用的app debug工具,同时还可以离线 ...
- 学习jsp篇:jsp简单实例之一注册
编程环境:IDEA,Tomcat ,JavaEE 实例一.注册 1.先在IDEA建一个web工程(不懂的可以在网上搜,一大堆..)ServletTest,在工程目录下的web目录建一个文件夹regis ...