中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Session如何在ASP.NETCore項目中使用-創新互聯

本篇文章為大家展示了Session如何在ASP.NET Core項目中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創新互聯公司成立于2013年,先為泰安等服務建站,泰安等地企業,進行企業商務咨詢服務。為泰安企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

安裝 Session 中間件


要想使用 session 中間件,你可以使用 Visual Studio 2019 中的 NuGet package manager 可視化界面進行安裝,或者通過 NuGet package manager console 命令行輸入如下命令:

Install-Package Microsoft.AspNetCore.Session

配置 session 中間件

現在 Microsoft.AspNetCore.Session 已經成功安裝到你的項目中了,接下來可以將它添加到 ASP.Net Core pipeline 中,請注意:為了能夠啟動 Session,你必須要使用一個 實現了 IDistributedCache 接口的 cache store 來作為 session 的底層存儲,然后你還要在 ConfigureServices 方法下調用 AddSession 方法將其塞入 IOC 容器,最后在 Startup.Configure 方法下使用 UseSession 將其塞入到 request -> response 請求管道中,具體代碼如下:

  public void ConfigureServices(IServiceCollection services)
  {
    services.AddDistributedMemoryCache();
    services.AddSession(options =>
    {
      options.IdleTimeout = TimeSpan.FromSeconds(5);
      options.Cookie.HttpOnly = true;
      options.Cookie.IsEssential = true;
    });
    services.AddMvc()
      .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
  }

一旦 session 中間件加入到了 IOC 容器之后,接下來可以在 Configure 方法中調用 UseSession 來啟動 session。

  public void Configure(IApplicationBuilder app, IHostingEnvironment env)
  {
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseSession();
    app.UseHttpContextItemsMiddleware();
    app.UseMvc();
  }

存儲和獲取 session

你可以使用 Set, SetInt32 和 SetString 這三個方法來實現 Session 的存儲,這些方法有兩個參數,一個是鍵,一個是鍵對應的數據,而且 Set 方法的 value 對應的是 byte[] 形式。

類似的,你可以使用 Get,GetInt32 和 GetString 方法來實現 session 的讀取,同時 Get 方法接收一個 string 格式的 key,并且返回 byte[] 數組,要使用這些擴展方法,你需要將 Microsoft.AspNetCore.Http 引用到項目中。

下面的代碼展示了如何將數據添加到 session 中。

public IActionResult Index()
{
  HttpContext.Session.SetString("Message", "Hello World!");
  HttpContext.Session.SetInt32("Year", 2019);
  return View();
}

接下來再看看如何從 session 中獲取數據,如下代碼所示:

public IActionResult About()
{
  ViewBag.Message = HttpContext.Session.GetString("Message");
  ViewBag.Year = HttpContext.Session.GetInt32("Year");
  return View();
}

如果你想設置或者獲取屬于其他類型的數據,可以在 ISession 接口上新增一個擴展方法并且自己來實現序列化邏輯,從 session 中設置或者獲取 復雜類型時,可以把這個類型序列化為 json,或者 json 反序列化為 model。

還有一點要特別注意,默認的 session 是基于內存的,也就是說進程關閉了 session 就會丟失,如果你想實現session持久化,可以采用 sqlserver 或者 redis。

上述內容就是Session如何在ASP.NET Core項目中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。

分享名稱:Session如何在ASP.NETCore項目中使用-創新互聯
分享URL:http://www.2m8n56k.cn/article18/cdjpdp.html

成都網站建設公司_創新互聯,為您提供企業網站制作建站公司品牌網站設計虛擬主機動態網站軟件開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化
主站蜘蛛池模板: 纯欧美一级毛片_免费 | 国产亚洲精品午夜高清影院 | 亚洲第一区视频在线观看 | 韩国美女一级毛片 | 午夜欧美日韩在线视频播放 | 亚洲免费精品 | 操操综合| 欧美1| 国产黄色大片网站 | 99国产精品免费观看视频 | 亚洲毛片在线播放 | 九九成人 | 国产伦精一区二区三区视频 | 精品国产一区二区三区不卡在线 | 国产一区在线播放 | 欧美俄罗斯一级毛片 | 久久久久久综合成人精品 | 欧美成人久久久免费播放 | 99视频在线精品免费 | 欧美黄色一级在线 | 国产精品一区二区国产 | 成年大片免费视频播放手机不卡 | 久草在线视频新时代视频 | 毛片网站在线播放 | 国产精品一二三区 | 日韩免费专区 | 欧美日韩在线播一区二区三区 | 国产又粗又黄又湿又大 | 一级美国乱色毛片 | 真正免费一级毛片在线播放 | 国产高清在线观看视频手机版 | 韩国毛片一级 | 国产亚洲免费观看 | 我想看三级特黄 | 美女张开大腿让男人捅 | 日本毛片在线看 | 日韩一区二区精品久久高清 | 欧美日韩一区二区三区在线 | 日本人成18在线播放 | 欧美成人资源 | 久草在线视频免费播放 |