1. セッション状態

チュートリアル: MongoDBプロバイダーを使用した共有セッション状態データベースの構成

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

共有 セッション状態では、複数のセッション間で共有できるすべてのデータ (連絡先やデバイスに関連するデータなど) が収集され、セッション状態データベースに保存されます。

連絡先はWebサイトへの複数の並行訪問を行うことができ、その場合、各訪問には独自のプライベートセッション状態があります。ただし、デバイスや連絡先に関連する情報など、一部のデータは訪問間で共有できます。

同じ連絡先による並列訪問間で共有される情報は、共有セッション状態ストアに格納されます。このデータは引き続き連絡先に対して非公開ですが、同じ連絡先によって行われた現在のすべてのセッションからアクセスできます。

Sitecore MongoDBプロバイダーまたはSitecore SQL Serverプロバイダーを使用して、共有セッション状態ストアを設定できます。これらのプロバイダーはどちらも、xDBがWebサイトへのアクセスを追跡するために必要なSessionEndイベントをサポートしています。

メモ

xDB Cloud Editionを使用している場合、MongoDBの共有セッション ステート プロバイダーの使用は、このサービスの一部として含まれていません。

このセクションの手順に従って、次のSitecore ASP.NET Session State Provider for MongoDBを使用してMongoDBデータベースを共有セッション状態ストアとして使用します。

MongoDBセッション データベースをデプロイする

この Sitecore ASP.NET Session State Provider for MongoDB を使用すると、MongoDBをセッション状態ストアとして使用できます。プロバイダーは、xDBがWebサイトへのアクセスを追跡するために必要なSessionEnd イベントをサポートしています。

MongoDBセッションデータベースをデプロイするには、次のようにします。

  1. MongoDB Webサイトの指示に従って、MongoDBデータベース サーバー バージョン2.6以降を専用サーバーにインストールします。

  2. 適切なXMLエディタで、<sitename>\Website\App_ConfigにあるConnectionStrings.configファイルを開き、次の接続文字列を追加します。

    <add name="sharedsession" connectionString="mongodb://_mongo_server_name_:_port_number_/_session_database_name_" />
  3. セッション・データベースを指すように接続文字列を構成します。

  4. 変更を保存します。

Sitecoreの設定

MongoDBの共有セッション状態プロバイダーを使用するようにSitecoreを設定するには:

  1. Webサイトのルートフォルダーで、「 Website\App_Config\Include」に移動します。

  2. Sitecore.Analytics.Tracking.configファイルを開きます。

  3. デフォルトの共有セッション状態プロバイダを定義できる行を、sitecore/tracking/sharedSessionStateのパスで見つけます。

  4. デフォルトの共有セッションストアは、inProcプロバイダーを使用します(データをメモリに格納し、内部ASP.NETクラスInProcSessionStateStoreに実装します)。

    <sharedSessionState defaultProvider="inProc">
      <providers>
        <clear/>
        <add name="inProc" type="System.Web.SessionState.InProcSessionStateStore" />
      </providers>
    </sharedSessionState>
    手記

    クラスター環境の場合、SitecoreにはMongoDBセッション状態ストア プロバイダーが付属しています。

  5. MongoDBを共有セッション状態ストア プロバイダーとして構成するには、defaultProviderinProcからmongoに変更します。また、name属性値をmongoに変更します。

    <sharedSessionState defaultProvider="mongo">
      <providers>
        <clear/>
        <add name="mongo"
             type="Sitecore.SessionProvider.MongoDB.MongoSessionStateProvider,
             Sitecore.SessionProvider.MongoDB"
             connectionStringName="sharedsession"
             pollingInterval="2"
             compression="true"
             sessionType="shared"/>
      </providers>
    </sharedSessionState>

セッション状態の設定を調整する

Sitecoreでは、セッション状態を設定するときに、次の設定オプションがあります。

設定

形容

connectionStringName

Sitecoreがセッション データベースへの接続に使用する接続文字列が含まれます。

編集して、使用するセッション状態データベースを指定します。xDBでは、このデータベースはセッションと呼ばれます。

例えば:

connectionStringName="session"

pollingInterval

セッション状態プロバイダーがセッションの有効期限が切れているかどうかを確認するために使用する時間間隔を秒単位で指定します。

例えば:

pollingInterval="2"

compression

セッション状態データを圧縮することを示します。

デフォルト値はtrueです。セッション状態データを圧縮すると、データベースとSitecoreインスタンス間で転送する必要があるデータの量が減ります。これにより、追加のCPUオーバーヘッドが発生する可能性があります。

例えば:

compression="true"

sessionType

セッション・ステートのタイプがprivate sharedかを示します。

例えば:

sessionType="shared"

この記事を改善するための提案がある場合は、 お知らせください!