因此,在 .Net Web 表單專案中,我將簡單地使用會話變數來設定和獲取它們跨不同的頁面。在 Blazor Web Assembly(使用核心托管)中執行此操作的正確方法是什么?即用戶登錄,他們的 ID、電子郵件、名字等資訊被存盤,然后需要在其他頁面中訪問。
uj5u.com熱心網友回復:
在 .Net 網路表單專案中,我會簡單地使用會話變數
您的 Wasm 應用程式是常規 C# 應用程式,因此您可以使用大多數常規存盤機制。我會遠離靜態,但您可以使用自己的 SessionStateService。只是一堆屬性。將其作為單例注入或將其用作級聯值。
但是舊的會話資料是存盤在服務器端的。這意味著只要用戶打開具有相同應用程式的第二個選項卡,Blazor wasm 解決方案就會存在細微差別。每個選項卡都運行自己的應用程式實體,因此您的資料將位于該選項卡的本地。沒有共享。
如果您確實想在選項卡之間共享,請使用 JavaScript 本地存盤(持久化)或在您的 API 服務器上創建一個端點(持久性由您決定)。
他們的 ID、電子郵件、名字等資訊
這些最好作為宣告存盤在 JWT 中。尤其是當您想基于這些值建立一些(服務器端)授權或邏輯時。
uj5u.com熱心網友回復:
您使用 Scoped DI 服務來維護狀態,并將其注入到任何需要使用或添加/更新資訊的組件中。
請參閱 Ms Docs - https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/dependency-injection?view=aspnetcore-6.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/418700.html
標籤:
上一篇:webpack5typescriptkarma無效的堆疊跟蹤行
下一篇:如何轉換元組的輸入串列
