この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 19063|答える: 0

[ASP.NET] . ネット分散アーキテクチャ:Redisに基づくセッション共有

[リンクをコピー]
掲載地 2018/10/15 13:26:55 | | | |
1: セッション序章

セッションとは何か? 簡単に言えば、サーバーからクライアントに与えられた番号です。 ウェブサーバーが稼働している場合、複数のユーザーがそのサーバー上でウェブサイトを閲覧していることがあります。 各ユーザーが最初にウェブサーバーに接続すると、サーバーとのセッションを設定し、サーバーは自動的にユーザーの一意身元を特定するためのSessionIDを割り当てます。 このSessionIDはウェブサーバーによってランダムに生成される24文字の文字列で、以下の実験でその動作を様子に示します。

2: Asp.Net におけるセッションの集中型モードと構成

(1): InProc、Sessionはプロセスに格納され、ASP.Net の保存方法であり、デフォルト値でもあります
(2): StateServer、セッションは別の状態サービス、すなわちState Serviceに保存されます ASP.NET
(3):SQLServer、セッションはSQL Serverデータベースに保存されます
(4):カスタム、Oracle、SQLServer、MongoDb、Redisで保存可能なカスタム保存方法です
この記事では主にRedisにおけるセッションの保存と共有について述べています

3: Redisに基づくセッションプロバイダーの設定

(1) 下図に示すように、サイトAおよびBのホームコントローラーに以下の変更を加え、セッションの作成および取得機能を追加します


対応するビュー


   (2) RedisProvider構成:Microsoft.Web.RedisSessionStateProvider
以下の画像に示されているように、NugetでMicrosoft.Web.RedisSessionStateProviderをインストールします:

        プロファイルを修正する:



4. 負荷分散セッションテスト

(1) ブラウザで入力:http://192.168.152.128/   セッションを作成する


     (2) ブラウザで以下を入力する:http://192.168.152.128/home/getsessionvalue、2つのタブを開いて、必ず同じブラウザウィンドウで開いてください。そうしないとSessionIDが確実に異なってしまいます


図から、サイトAはサイトBが作成したセッションを共有していることがわかります。
下の図のように、redisから作成したセッションも確認できます







先の:Asp.Net MVCネイティブEF挿入、データの正しい更新方法
次に:Angular6はjqueryとブートストラップを導入します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com