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工业互联网操作系 ...
随机推荐
- Sentry 开发者贡献指南 - Feature Flag
功能 flag 在 Sentry 的代码库中声明. 对于自托管用户,这些标志然后通过 sentry.conf.py 进行配置. 对于 Sentry 的 SaaS 部署,Flagr 用于在生产中配置标志 ...
- Spring系列2:Spring容器基本概念和使用
本文内容 简单回顾IoC和DI概念 Spring容器的概念 的xml配置和初始化 容器的基本使用 bean的定义和初始化配置 简单理解IoC和DI概念 什么是IoC控制反转? 通俗地但不严谨地讲,以前 ...
- Web开发之Servlet
当一个请求到达服务端,服务器怎么处理? 当一个请求到达服务端时,由服务端的引擎来进行分析.它根据工程名找到工程, 然后拿到URL的资源地址和web.XML文件的所有的进行对比,和哪一个对比上就找到了具 ...
- 2022 跳槽涨薪必不可少面试通关宝典 —— css 篇
生于忧患死于安乐!已经居家隔离 23 天了,解封以后估计就得找工作了,提前准备起来!需要的赶紧收藏起来 一.谈谈你对 BFC 的理解及作用. BFC 是 Block Formatting Contex ...
- golang取地址操作采坑:for idx,item := range arr中的item是个独立对象
先看代码: package main import "fmt" func main() { type s struct { A string B int32 } arr := [] ...
- ROS之arduino交互
一.第一种安装方式(不支持自定义消息) 第一步打开官网 http://wiki.ros.org/rosserial_arduino/Tutorials/Arduino%20IDE%20Setup 第二 ...
- 使用Hot Chocolate和.NET 6构建GraphQL应用(1)——GraphQL及示例项目介绍
系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 前言 这篇文章是这个系列的第一篇,我们会简单地讨论一下GraphQL,然后介绍一下这个系列将会使用的示例项目. 关 ...
- Shell 脚本循环遍历日志文件中的值进行求和并计算平均值,最大值和最小值
本文为博主原创,转载请注明出处: 最近在进行压测,为了观察并定位服务性能的瓶颈,所以在代码中很多地方加了执行耗时的日志,但这种方式只能观察,却在压测的时候,不太能准确的把握代码中某些方法的性能,所以想 ...
- Linux下查找软件,rpm命令 dpkg命令 apt命令
centos: 1.查询一个包是否被安装 rpm -q < package name> 2.列出已安装软件相关的所有包 rpm -qa < package name> ubun ...
- Python 单元测试 生产HTML测试报告
使用HTMLTestRunnerNew模块,生成单元测试的html报告,报告标题根据对应测试时间. import unittest from datetime import datetime from ...