ホームページ  >  記事  >  バックエンド開発  >  C# ASP.NET Core でセッションを有効にする方法は?

C# ASP.NET Core でセッションを有効にする方法は?

WBOY
WBOY転載
2023-09-07 08:41:05644ブラウズ

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

セッションは、ユーザー データを保存/保存できるようにする ASP.NET Core の機能です。

Session は、SessionId をキーとして使用して、サーバー上の辞書にデータを保存します。

SessionId はクライアントの Cookie に保存されます。 SessionId Cookie は次の方法で送信されます。 リクエストごとに。

SessionId Cookie は各ブラウザに固有であり、異なるブラウザ間で共有することはできません。

SessionId Cookie にはタイムアウトが指定されていないため、ブラウザを閉じると削除されます。 ブラウザセッションが終了します。

サーバー側では、セッションは限られた時間だけ保持されます。デフォルトのセッションタイムアウトは、 サーバーは 20 分ですが、設定可能です。

Microsoft.AspNetCore.Session パッケージは、ASP.NET Core でセッションを管理するためのミドルウェアを提供します。アプリケーションでセッションを使用するには、このパッケージをプロジェクトの依存関係として project.json ファイルに追加する必要があります。

次のステップは、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。