ウォークスルー

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

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

共有セッション状態では、複数のセッション間で共有可能なすべてのデータ、例えば連絡先に関するデータは収集され、セッション状態データベースに保存されます。

連絡先は複数の並行訪問を行うことができ、その場合各訪問は独自のプライベートセッション状態を持ちます。しかし、訪問間で連絡先情報を共有することもあります。

同じ連絡先が並列訪問間で共有される情報は、共有セッションの状態ストアに保存されます。このデータは依然として連絡先にとってプライベートですが、同じ連絡先が作成したすべての現在のセッションからアクセス可能です。

このウォークスルーでは、RedisのSitecoreセッションステートプロバイダーを使って、Redisをアウトオフプロセスの共有セッションステートストアとして使う方法を説明します。

このウォークスルーでは、以下の方法を説明します:

  • 共有のRedisセッションデータベースを展開する
  • Sitecoreの設定
  • 専用のRedis Session Processingサーバーを設定
  • Redisのプロバイダー設定を調整してください

!注SitecoreはRedis Clusterをサポートしていません。

共有セッションデータベースの展開

Sitecore ASP.NETセッションステートストアプロバイダーは、Redisをセッションステートストアとして使うことを可能にします。プロバイダーはSessionEndイベントをサポートしており、xDBはウェブサイト訪問を追跡する必要があります。

!重要設定ファイルに直接変更を加えないでください。代わりに、実行中に必要な変更を行う パッチファイル を作成しなければなりません。

Redisセッションデータベースを展開するには:

  1. Azure RedisかRedisオンプレミスのどちらかを選べます。 Microsoft Azureウェブサイト の指示やAzure PowerShellを使ってAzure Redisをプロビジョニングできます。

  2. \Website\App_Configフォルダに行き、ConnectionStrings.configファイルを開き、以下の接続文字列を追加してください:

  3. 接続文字列をセッションデータベースを指すように設定してください。

  4. 変更を保存してください。

Sitecoreの設定

デフォルトの共有セッションストアは、イン プロセス プロバイダーを使用し、これはメモリにデータを保存し、内部のASP.NETクラスInProcSessionStateStoreで実装されています:

SitecoreをRedisの共有セッションステートプロバイダーを使用するように設定するには:

  1. ウェブサイトのルートフォルダで、App_Config\Sitecore\Marketing.Trackingフォルダに移動します。

  2. Sitecore.Analytics.Tracking.Configファイルを開け。

  3. デフォルトの共有セッション状態プロバイダーを定義できる行を次のパスで見つけてください: sitecore/tracking/sharedSessionState。

  4. sharedSessionStateセクションをdefaultProviderとしてRedis(inProcではなく)に更新してください。また、名前属性の値をredisに変更する必要があります。以下の例に示されています。

!重要設定ファイルに直接変更を加えないでください。代わりに、実行中に必要な変更を行う パッチファイル を作成しなければなりません。

専用の期限切れセッション処理サーバーを設定してください

Sitecore Experienceプラットフォームは、期限切れのセッションを処理する専用サーバーをサポートしています。つまり、CDサーバーのクラスター環境がある場合、pollingEnabled設定を使って一部のサーバーをコンテンツのみに提供し、セッションの状態データを処理しないように設定できます。

pollingEnabled設定で、期限切れのセッション処理を有効化または無効にできます。例えば、期限切れセッションの処理専用のCDサーバーで有効にし、訪問者にコンテンツを配信するライブCDサーバーで無効にすることができます。

!重要期限切れのセッションを処理するために専用のサーバーは、訪問者にコンテンツを提供するためのものであってはなりません。例えば、CDサーバーのロードバランサーを設定する場合、リクエストが期限切れのセッションを処理する専用サーバーにリダイレクトされないようにしなければなりません。

共有セッションステートのpollingEnabled設定を有効にするには:

  • App_Config\Sitecore\Marketing.Tracking\Sitecore.Analytics.Tracking.configファイルにアクセスし、専用の期限切れ処理サーバーのpollingEnabled値がtrueに設定されていることを確認してください。

訪問者にコンテンツを提供するCDサーバーの期限切れ共有セッション処理を無効にするには:

  • App_Config\Sitecore\Marketing.Tracking\Sitecore.Analytics.Tracking.configファイルに行き、pollingEnabled値をfalseに設定してください。

    " … pollingEnabled ="false" applicationName="shared"/>

Redisのプロバイダー設定を調整してください

Redisプロバイダー設定の参照を使ってセッション状態を設定してください。すべて正しく設定されていれば、最初のウェブリクエストの後にセッションレコードがRedisのセッションデータベースに表示されます。

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