Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membolehkan sesi dalam C# ASP.NET Core?

Bagaimana untuk membolehkan sesi dalam C# ASP.NET Core?

WBOY
WBOYke hadapan
2023-09-07 08:41:05629semak imbas

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

Sesi ialah ciri dalam Teras ASP.NET yang membolehkan kami menyimpan/menyimpan data pengguna.

Session menyimpan data dalam kamus pada pelayan, menggunakan SessionId sebagai kunci.

SessionId disimpan dalam kuki pelanggan. Kuki SessionId dihantar melalui setiap permintaan.

Kuki SessionId ialah setiap pelayar dan tidak boleh dikongsi antara penyemak imbas yang berbeza.

Kuki SessionId tidak mempunyai tamat masa yang ditentukan dan akan dipadamkan apabila penyemak imbas ditutup Sesi pelayar tamat.

Di bahagian pelayan, sesi dikekalkan untuk masa yang terhad. Tamat masa sesi lalai ialah Pelayan adalah 20 minit, tetapi boleh dikonfigurasikan. Pakej

Microsoft.AspNetCore.Session menyediakan perisian tengah untuk mengurus sesi dalam Teras ASP.NET. Untuk menggunakan sesi dalam aplikasi kami, kami perlu menambah pakej ini sebagai pergantungan projek dalam fail project.json.

Langkah seterusnya ialah mengkonfigurasi sesi dalam kelas Startup.

Kita perlu memanggil kaedah "AddSession" dalam kaedah ConfigureServices kelas permulaan.

Kaedah "AddSession" mempunyai kaedah terlebih beban yang menerima pelbagai parameter sesi

Pilihan seperti tamat masa melahu, nama kuki dan domain kuki, dsb.

Jika kami tidak lulus pilihan sesi, sistem akan mengambil pilihan lalai.

Contoh

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);
      });
   }
}

Cara mengakses sesi

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();
   }
}

Atas ialah kandungan terperinci Bagaimana untuk membolehkan sesi dalam C# ASP.NET Core?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam