ASP.NET MVC 4アプリケーションでセッションを使用するには?
私はASP.NET MVCの初心者です。以前にPHPを使ったことがありますが、セッションを作成し、現在のセッション変数に基づいてユーザーのレコードを選択するのは簡単でした。
そこで、C# ASP.NET MVC 4アプリケーションでセッションを作成し、使用する方法をステップバイステップで説明した簡単なチュートリアルをインターネットで探しました。ユーザー変数を含むセッションを作成し、コントローラのどこからでもアクセスできるようにして、LINQクエリで変数を使用できるようにしたいのです。
-以上、よろしくお願いします。
103
3
トライ
Webはステートレスな性質を持っているため、セッションはオブジェクトをシリアライズしてセッションに保存することで、リクエスト間でオブジェクトを持続させる非常に便利な方法でもあります。
例えば、アプリケーション全体で定期的に情報にアクセスする必要がある場合、リクエストごとにデータベースを呼び出す手間を省くために、次のようにデータをオブジェクトに格納し、リクエストごとにシリアライズしないようにすることができます。
**再利用可能なシリアル化可能なオブジェクト:***。
使用例:
このオブジェクトがシリアル化されると、オブジェクトの作成やデータベースへのデータの問い合わせを再度行うことなく、すべてのコントローラで使用することができます。
**依存性注入を使用してセッションオブジェクトを注入してください。
理想的な世界では、シリアル化可能なセッションオブジェクトを、Inversion of Controlコンテナを使って、次のようにコントローラに注入します(この例ではStructureMapを使っています。
そして、これを
Global.asax.cs
ファイルに登録します。セッションオブジェクトの注入に慣れていない方のために、このテーマに関するより詳細なブログ記事こちらをご用意しました。
警告の言葉:。
セッションは最小限にとどめるべきで、大きなセッションはパフォーマンスの問題を引き起こす可能性があります。
また、セッションには機密データ(パスワードなど)を保存しないことをお勧めします。
これが、ASP.NETとASP.NET MVCにおけるセッションステートの仕組みです。
ASP.NET セッションステートの概要をご覧ください。
基本的には、Sessionオブジェクトに値を保存するために行います。
値を取り出すには