目 錄
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/431395.html
標籤:.NET Core
上一篇:在javascript中使用filter()來實作curriable()是可行的,但是,uisngmap()是可行的,為什么?
