iNeuOS工业互联网操作系统,顺利从NetCore3.1升级到Net6的过程汇报,发布3.7版本...

目       录

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各版本支持情况,如下图:

cddeaf142f3b8097a12ab835e640379d.png

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

68b86b50278be93ecd96a78247794ce0.png

2.   升级的工程

  后台服务升级项目数量:36个项目,包括测试项目。

  后台Api升级项目数据:12个项目,包括测试项目。

    整个升级及测试过程大概用了一天的时间,如下图:

4e1d379ff37a43c5a3e0d45a206e5f78.png

       NET6版本,如下图:

4ca196785afb4a07a66708bc35bf65a3.png

3.   升级的代码差异

  主要是差异点是对线程的操作,其他代码涉及到安全或是算法操作,例如Md5的使用。

  原来对线程退出的操作,如下:

d76307c3eabbd5cb1923e301e8a74694.png

//原来使用线程的方式
//启动线程
Thread _thread = new Thread(new ThreadStart(RunThread));
_thread.Start();//运行线程
private void RunThread()
{while (true){try{//code}catch(Exception ex){}}
}//退出线程
_thread.Abort();

e0c931ea3b5072ada1a77c3141a7f8ea.png

  升级后使用线程的方式,如下:

a74570b1cc91b0ab134cd5d88a2d55aa.png

//升级后使用线程的方式
//启动线程
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();

70f1ff716547d87ccb1c15c747060f2f.png

4.   系统运行

  系统登录,如下图:

480e518483df1edc48071d0a45eb6802.png

        进入系统,如下图:

a7fdfb8cf504163699e2eb0b5ec3ca7a.png


物联网&大数据技术 QQ群:54256083
物联网&大数据项目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:https://www.cnblogs.com/lsjwq
微信公众号:iNeuOS
acfdaa7d8611830586737d4ea7f17e1b.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件设计和设计的问题

先感概一句, 软件设计是一个不太容易的事情,尤其历史需要兼容新需求的问题。 软件设计 软件设计包括很多,软件架构,软件结构,数据库设计。 软件不是从0开始的,一般都会有一些支撑组件,尤其现在的web程序&am…

郑州升达经贸管理学院计算机科学与技术,郑州升达经贸管理学院计算机科学与技术专业2016年在福建理科高考录取最低分数线...

类似问题答案郑州升达经贸管理学院计算机科学与技术专业2016年在吉林理科高考录取最低分数线学校 地 区 专业 年份 批次 类型 分数 郑州升达经贸管理学院 吉林 计算机科学与技术 2016 二批 理科 336 学校 地 区 专业 年份 批次 类型 分数 郑州升达经贸管理学院 吉林 计算机科学…

Android之INSTALL_FAILED_UPDATE_INCOMPATIBLE(pacakge:...do not match the previously installed version)

1、问题: adb install -r ***.apk 出现下面错误 INSTALL_FAILED_UPDATE_INCOMPATIBLE(pacakge:...do not match the previously installed version;ignoring) 2、解决办法: 用ApkHelp工具,检验这2g个apk,发现签名不一样&#…

0714M

/*************************************************************************> File Name: code/2015summer/0714/M.cpp> Author: 111qqz> Email: rkz2013126.com > Created tim: 2015年07月14日 星期二 11时37分51秒******************************************…

鲜为人知的编程真相

2019独角兽企业重金招聘Python工程师标准>>> 当程序员的经历让我知道了一些关于软件编程的事情。下面的这些事情可能会让朋友们对软件开发感到惊讶: 一个程序员用在写程序上的时间大概占他的工作时间的10-20%,大部分的程序员每天大约能写出10…

如何理解 ListT和 DictionaryK,V 的扩容机制 ?

咨询区 Royi Namir为什么 List 是按照 2倍 扩容。private void EnsureCapacity(int min) {if (this._items.Length < min){int num (this._items.Length 0) ? 4 : (this._items.Length * 2);if (num < min){num min;}this.Capacity num;} }而 Dictionary<K,V>…

Android stduio之Plugin with id ‘com.android.application‘ not found解决办法

1、错误 Plugin with id com.android.application not found 2、解决办法 打开项目的build.gradle&#xff0c;看是否有buildscript&#xff5b;&#xff5d;&#xff0c;如果没有&#xff0c;加上 buildscript {repositories {mavenCentral() // or jcenter()}dependenc…

专科学会计还是计算机应用技术好,专科毕业想要学习会计专业,我专科是学计算机应用,但是毕业后家里让我学会计这门专业,具体是该怎么办呢...

技校网专门为您推荐的类似问题答案问题1&#xff1a;福建自考会计学需要考哪些专业,我是计算机专科毕业的020204 会计 (独立本科段) -http://www.fjzk.com.cn/portal/html/193/20081202000018.html--------------------------------------------------------------------------…

Android Studio之package org.junit does not exist解决办法

1、问题 运行Android studio出现下面错误 D:\*******\ExampleUnitTest.java Error:(3, 17) error: package org.junit does not exist Error:(5, 24) error: package org.junit does not exist Error:(11, 6) error: cannot find symbol class Test Error:(13, 9) error: cann…

2. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml

1. 前言入门篇我们已经成功运行hello.benchmarks.yml并输出测试结果&#xff0c;本篇我们就hello.benchmarks.yml、以及运行的shell脚本详细解读下其中的含义2. 剖析hello.benchmarks.yml2.1. job在hello.benchmarks.yml中我们定义了一个新的job: server&#xff0c;并指定了仓…

计算机应用问题,计算机应用的现状与发展的问题

计算机应用的现状与发展的问题来源&#xff1a;职称阁时间&#xff1a;2018-07-27 11:59热度&#xff1a;这篇论文主要介绍的是计算机应用的现状与发展的问题的相关内容&#xff0c;本文作者就是通过对计算机的应用现状等内容做出详细的阐述与介绍&#xff0c;特推荐这篇优秀的…

GoLang学习笔记——data_type

Go语言里面&#xff0c;每个变量也都是有类别的&#xff0c;这种类别叫做数据类型(Data Type)。 Go的数据类型有两种&#xff1a;一种是语言内置的数据类型&#xff0c;另外一种是通过语言提供的自定义数据类型方法自己定义的自定义数据类型。 数值型(Number) 数值型有三种&…

(2)从实际项目谈起,基于MEF的插件框架之总体设计

文章版权由作者李晓晖和博客园共有&#xff0c;若转载请于明显处标明出处&#xff1a;http://www.cnblogs.com/naaoveGIS/。 1.MEF框架简介 MEF的全称是Managed Extensibility Framework&#xff08;MEF&#xff09;&#xff0c;其是.net4.0的组成部分&#xff0c;在3.5上也可以…

Object-C 类,对象,运行时,isa

今天记录一下它的底层运作。 1&#xff1a; 类Class&#xff1a; typedef struct objc_class * Class; 从Class的定义可以看出&#xff0c;它是一个 objc_class 结构类型的指针&#xff0c;objc_class又是什么呢&#xff1f; struct objc_class{struct objc…

Avalonia跨平台入门第四篇之Popup在uos下问题

上一篇简单玩耍了Popup,这不正当我洋洋自得的时候前线传来战报:你家伙做的效果在UOS下面有问题;然后直接发来一张捷报:明明在乌班图和优麒麟都没啥问题,单单就你这个UOS牛,结果发现个神奇的特效:开启神奇的特效,果然神奇:来看看最终实现的效果:最终简单的效果先这样吧;以后有时…

C++之用std::nothrow分配内存失败不抛异常

1、std::nothrow介绍 1&#xff09;.malloc分配时&#xff0c;如果内存耗尽分配不出来&#xff0c;会直接返回NULL&#xff1b; 2.&#xff09;早期C版本&#xff0c;new分配时&#xff0c;如果内存耗尽分配不出来&#xff0c;也会直接返回NULL&#xff1b; 我们可以使用关键…

linux 安装apache http server

参考http://blog.csdn.net/sundenskyqq/article/details/24733923 但这篇博文有些东西有错。 参考http://www.cnblogs.com/zhuque/archive/2012/11/03/2763352.html 部分内容 步骤&#xff1a; 1、 下载apr、apr-util、pcre、Apache httpserver 地址如下&#xff1a; apr/ apr…

理科都要学大学计算机吗,女生不适合学理科专业?报考这些理科专业,一毕业就会遭到疯抢!...

男学理&#xff0c;女学文&#xff0c;似乎一直以来都是考生们报考专业时所“遵循”的一个主流&#xff0c;因为无论是专业学习知识理论的侧重点&#xff0c;还是未来就业的偏向性&#xff0c;文理科专业都呈现出非常大的差异。女生们或许更适合文科类专业的学习和就业&#xf…

8个使用JavaScript展示图片解决方案

1. JonDesign’s SmoothGallery 2.0 SmoothGallery demo 2. (E)2 Photo Gallery (E)2 Photo Gallery demo 3. jQuery Gallery 4. MooPix 5. Highslide JS Highslide JS demo 6. Flickrshow 7. Galleria Galleria demo 1 - Galleria demo 2 8. LightWindow v2.0

Linux中常用的操作指令(随时更新)

注&#xff1a;本文的所有内容都来源于网络&#xff0c;是本人再使用过程中遇到的一些不太常用、经常忘记的指令&#xff0c;出处太分散&#xff0c;无法标注。如有问题&#xff0c;请在下方留言&#xff0c;本人会及时更正或删除。谢谢&#xff01; CentOS 防火墙放开端口 #su…