RoadFlow作業流引擎從.NET Core2.2升級到3.0遇到了一些問題及解決方式這里記錄一下,
1、DLL專案框架從2.2選擇到3.0,這個沒什么好說的,沒有問題,重點的WEB層的一些變化,

2、將ORM資料包升級到最新,MYSQL升級到8.0,

3、WEB專案中路由的不同Startup.cs中:
2.2:

3.0:

4、SignalR的不同:
2.2:

3.0統一加到的路由設定中:

5、3.0中輸出都采用了異步,默認沒有開啟同步,也不建議開啟,改代碼采用異步輸出,

6、這是遇到最大的坑,找了好久才找到原因,

這是不要設定,設定了一遇到Request.Form["keyt"]就會報錯,不管post的內容多大都會報錯,并且是偶發性的,時好時壞,注釋掉這里就好了,
報錯內容如下:

System.IO.InvalidDataException:“Form key length limit 2147483647 or value length limit 2147483647 exceeded.”
7、將發布設定為發布單檔案,這樣就方便多了,直接雙擊RoadFlow.Mvc.exe運行,自帶core3.0運行時,不需要安裝運行環境,

發布后的目錄也清爽了許多:

這只適應演示或不經常改動的程式發布,一但改過就要停止EXE執行再更新,所以生產專案還是建議以不編譯視圖的方式發布,這樣改了視圖內容可以及時更新,
以不編譯視圖的方式發布:
在專案上雙擊設定:

并且參考包:Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/103549.html
標籤:.NET Core
