我有一個連接到后端的現有 Xamarin 移動應用程式,該后端是托管在 Azure 中的 .NET Framework 4.7.1 Web 應用程式。它僅包含 azure 中推送通知中心的邏輯和鏈接,還為移動應用程式執行新用戶注冊和登錄身份驗證。
我研究并意識到將 .NET Framework 4.7.1 現有 Web API 升級到 .NET Core 3.1 / Net 6 Web API 不是一個好主意(甚至不能)。
我正在考慮創建一個新的 .NET Core 3.1/Net 6 專案,該專案還將連接到現有資料庫并繼續在這個新專案中為移動設備添加功能,例如密碼重置功能,更現代且易于維護。兩個 web api 都可以運行(所以我可以避免更新移動 azure 通知包和集線器,如果我修改了原始后端專案會導致)
多部分問題:
這種方法是一個好方法嗎?如果沒有,有什么替代方案?
現有資料庫有 Microsoft Identity 表,所以當我創建新的 NET Core 3.1 / Net 6 專案時,是否選擇使用 Microsoft Identity 進行身份驗證作為選項?在構建 azure 現有資料庫連接字串時,這是否會自動為我將身份驗證邏輯掛鉤到具有現有表的新專案中(即使用戶表具有稍微修改的自定義名稱并在創建時在以前的專案中添加了一些列)?
uj5u.com熱心網友回復:
發布為答案(因為評論太長了)
首先,您可以從 .NET 4.7 升級到 NETCore,我最近已經這樣做了(4.7.2 到 NetCore5)。前提是您沒有使用尚未移植到 NetCore 的庫或包。例如,我的專案針對 EF6,我必須首先將整個專案遷移到 EFCore5。然后更改 DbContext 中的代碼,重新創建資料庫遷移,修復一些查詢(尤其是 GroupBy 查詢)等。最后我可以升級到 NetCore5。
關于您問題的第二部分,我認為為您的某些功能使用單獨的 API 并不是一個壞主意,但如果升級現有專案是可行的,我個人會避免。(也許重新開始并逐漸移植其余代碼?)
還要記住的一件事是,AspnetCore Identity 架構可能與 Aspnet Identity 架構不同(只是一個想法,不確定)
我最近將自定義用戶和身份驗證系統遷移到 AspnetCore Identity,我使用了 IdentityServer4 和 AspnetCore Identity。我不確定您如何驗證用戶等,但我已經在使用 IdentityServer4,當我使用 AspnetCore Identity UI/Authentication 搭建它時,它創建了用于身份驗證的 UI/業務邏輯(我不得不稍微調整一下,并且有自定義其中一些以繼續使用我們的移動應用程式)
此外,我必須手動將我們的用戶從 Custom Users 表遷移到新的 Identity.Users 表。我創建了一個實用程式應用程式(控制臺應用程式),它從現有的用戶表中讀取用戶并在 Microsoft --> 身份表下創建它們。
我想我花了大約一個月的時間從
1 - EF6 --> EfCore
2 - Net471 --> NetCore5
3 - 自定義用戶 --> AspnetCore 身份
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/431752.html
標籤:天蓝色 api asp.net 核心 实体框架核心 天蓝色网络应用服务
下一篇:asp.netxhr.send中的錯誤Ajxa呼叫(options.hasContent&&options.data||null)
