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工业互联网操作系 ...
随机推荐
- Keil MDK STM32系列(六) 基于抽象外设库HAL的ADC模数转换
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- 你的Kubernetes Java应用优雅停机了吗?
Java 应用优雅停机 我们首先考虑下,一般在什么场景下数据会丢失呢? 升级服务时 pod重启时 服务器断电时 因为服务器断电属于极端情况,我们暂且不考虑.那就只有 Java 退出时我们要保证数据的完 ...
- OSI/RM体系结构
OSI/RM体系结构是第一个标准化的计算机网络体系结构. 它是针对广域网通信(也就是不同网络之间的通信)进行设计 的,将整个网络通信的功能划分为七个层次,由低到高分别是物理层(Physical L ...
- 【经验总结】CodeBlocks使用mingw64
CodeBlocks使用 标签:c++ 一.安装并配置mingw-w64 使用中发现CB默认的编译器版本过低,c++11的一些东西无法使用,比如string中的stoi函数,因此尝试安装新版本的编译器 ...
- 记录python2.7迁移到python3.6过程中的一些代码差异
python2.7 python 3.6 import urllib2 import urllib import urlparse import urllib import exceptions 废弃 ...
- 【海淘域名】GoDaddy账户被锁定后的解决方法
转载自[美国海淘网]http://www.usahaitao.com/Experience/Detail_2886.html 通过ICANN申诉顺利的从国内无良奸商(35互联与商务中国,小编的域名 ...
- jQuery ajax get与post后台交互中的奥秘
这两天在做关注功能模块(类似于Instagram).多处页面都需要通过一个"关注"按钮进行关注或者取消该好友的操作.一个页面对应的放一个按钮,进行操作.效率低维护性差.因此想通过j ...
- Windows和Linux(Centos7)下安装Nginx
安装Nginx 这篇记录只不过做了一个简单总结,如果对这块没什么概念的话可以看一下知乎的这篇文章 https://zhuanlan.zhihu.com/p/83890573 window下安装 win ...
- WebGPU相关的资源学习和社区
我在网上搜寻了很多关于WebGPU相关的资料: #我觉得首先在B站上看到的徐博士免费教程非常好,讲解详细,并且评论回复比较快,都会有回应,徐博士B站网址:https://space.bilibili. ...
- CSS设置标签、图片放大、缩小、旋转、移动(tranform)
CSS设置标签.图片放大.缩小.旋转.移动(tranform) 1.缩小和放大属性(scale) 格式:tranform:缩小类型(数值): 注意:缩小和放大都是 scale : 其中的值(0~1)代 ...