首頁  >  文章  >  後端開發  >  如何在 C# ASP.NET Core 中啟用會話?

如何在 C# ASP.NET Core 中啟用會話?

WBOY
WBOY轉載
2023-09-07 08:41:05624瀏覽

如何在 C# ASP.NET Core 中启用会话?

Session是ASP.NET Core中的一個功能,它使我們能夠保存/儲存使用者資料。

Session將資料儲存在伺服器上的字典中,使用SessionId作為鍵。

SessionId 儲存在客戶端的 cookie 中。 SessionId cookie 是透過以下方式發送的 每個請求。

SessionId cookie是針對每個瀏覽器的,不能在不同的瀏覽器之間共用。

SessionId cookie沒有指定逾時時間,瀏覽器關閉時會被刪除 瀏覽器會話結束。

在伺服器端,會話會保留有限的時間。預設會話超時時間為 伺服器是20分鐘,但是可以進行設定。

Microsoft.AspNetCore.Session套件提供了在ASP.NET Core中管理會話的中間件。要在我們的應用程式中使用會話,我們需要將此套件新增為專案的依賴項在project.json檔案中。

下一步是在Startup類別中設定會話。

我們需要在startup類別的ConfigureServices方法中呼叫「AddSession」方法。

「AddSession」方法有一個重載方法,可以接受各種會話參數

選項,如空閒逾時、Cookie名稱和Cookie域等。

如果我們不傳遞會話選項,系統將採用預設選項。

範例

public class Startup {
   public void Configure(IApplicationBuilder app){
      app.UseSession();
      app.UseMvc();
      app.Run(context => {
         return context.Response.WriteAsync("Hello World!");
      });
   }
   public void ConfigureServices(IServiceCollection services){
      services.AddMvc();
      services.AddSession(options => {
         options.IdleTimeout = TimeSpan.FromMinutes(60);
      });
   }
}

如何存取會話

public class HomeController : Controller{
   [Route("home/index")]
   public IActionResult Index(){
      HttpContext.Session.SetString("product","laptop");
      return View();
   }
   [Route("home/GetSessionData")]
   public IActionResult GetSessionData(){
      ViewBag.data = HttpContext.Session.GetString("product");;
      return View();
   }
}

以上是如何在 C# ASP.NET Core 中啟用會話?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除