<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      深入淺出Blazor webassembly之Local storage

      普通 MVC 網(wǎng)頁應用本地存儲會往往采用 cookie, 而 Blazor wasm 應用和其他 SPA 框架類似, 基本不使用 cookie, 通常使用的是 Local storage 或 session storage.

      Local storage 和 session storage的持久化能力不同, session storage 在瀏覽器的 tab 頁關閉后, 將會自動失效, 而 Local storage 即使是重啟瀏覽器進程后也會繼續(xù)有效, 直到用戶清除本地緩存. 

      Blazor wasm 應用需要本地存儲的情形, 往往是用來保存  jwt 或 userId, 所以Local storage 更合適一些. session storage 相對雞肋一些, 完全可以使用 app state container 全局類代替, 所以不是本文關注的重點. 

      Blazor wasm 使用Local storage的方法有:

      =====================================

      使用 blazored 的 LocalStorage

      =====================================

       1. 安裝組件, 命令:  dotnet add package Blazored.LocalStorage

      2. Program.cs 中注冊 LocalStorage 服務

      3. _Imports.razor 文件中引用一下, 以方便頁面使用  @using Blazored.LocalStorage 

      4. 需要存儲或讀取local storage的文件, 使用依賴注入的方式, 注入 ILocalStorageService 或 ISyncLocalStorageService 服務, 前者是異步版, 后者是同步版, 推薦使用異步版.

       

      The APIs available are:

      • asynchronous via ILocalStorageService:

        • SetItemAsync()
        • SetItemAsStringAsync()
        • GetItemAsync()
        • GetItemAsStringAsync()
        • RemoveItemAsync()
        • ClearAsync()
        • LengthAsync()
        • KeyAsync()
        • ContainKeyAsync()
      • synchronous via ISyncLocalStorageService (Synchronous methods are only available in Blazor WebAssembly):

        • SetItem()
        • SetItemAsString()
        • GetItem()
        • GetItemAsString()
        • RemoveItem()
        • Clear()
        • Length()
        • Key()
        • ContainKey()

      Note: Blazored.LocalStorage methods will handle the serialisation and de-serialisation of the data for you, the exceptions are the SetItemAsString[Async] and GetItemAsString[Async] methods which will save and return raw string values from local storage.

       

      示例代碼:

      @page "/"
      @inject ILocalStorageService LocalStorageService
      @inject ISyncLocalStorageService SyncLocalStorageService
      <h1>Hello, world!</h1>
      
      Welcome to your new app.
      <br/>
      <p>jwt:@Jwt</p>
      <button class="btn btn-primary"  @onclick="SaveJwt"> Save Jwt</button>
      <SurveyPrompt Title="How is Blazor working for you?" />
      
      @code{ 
          private String Jwt;
          protected override void OnInitialized()
          {
              base.OnInitialized();
              ReadJwt();
          }
      
          private void ReadJwt()
          {
              Jwt = SyncLocalStorageService.GetItem<String>("jwt");
          }
      
          private void SaveJwt()
          {
              SyncLocalStorageService.SetItem<String>("jwt", "jwt123");
          }
      }

       

       

      posted @ 2021-09-24 19:42  harrychinese  閱讀(2344)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 亚洲av专区一区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产欧美在线手机视频| 欧美日韩精品一区二区三区不卡| 久久精品国产精品亚洲蜜月| 日韩有码中文字幕av| 国产成人午夜福利在线播放| 永久免费在线观看蜜桃视频| 国产精品一区二区三区黄| 国产怡春院无码一区二区| 亚洲精品国产一区二区在线观看| 亚洲国产日韩一区三区| 中文字幕亚洲综合久久蜜桃| 亚洲日本韩国欧美云霸高清| 91久久精品美女高潮不断| 日韩丝袜人妻中文字幕| 激情综合色综合久久丁香| 樱桃熟了a级毛片| 91精品国产午夜福利| 日本无码欧美一区精品久久| 欧美黑人添添高潮a片www| 无码福利写真片视频在线播放| 猫咪AV成人永久网站在线观看| 国产在线精品一区二区夜色| 林甸县| 国产69精品久久久久久| 69天堂人成无码免费视频| 精品国产制服丝袜高跟| 国产一区二区三区九九视频| 深夜视频国产在线观看| 五月婷婷激情第四季| 九九热精品免费在线视频| 亚洲精品一区二区麻豆| 午夜福利偷拍国语对白| 久久久久久亚洲精品成人| 国产精品乱人伦一区二区| 午夜精品视频在线看| 国产在线观看免费观看不卡| 九九热精品免费在线视频| 五月天国产成人AV免费观看| av在线播放国产一区|