ウォークスルー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
連絡先は異なるデバイスやブラウザセッションから同時に複数回ウェブサイトにアクセスすることができます。共有セッション状態の場合 、セッション状態データベースは これらの複数のセッション間で共有可能なすべてのデータを収集します。これには例えば連絡先やデバイスに関するデータが含まれます。このデータは連絡先にとっては依然としてプライベートですが、同じ連絡先が作成したすべての現在のセッションからアクセス可能です。
単一のCDサーバー、複数のCDサーバー、クラスタ環境のいずれであっても、コンテンツデリバリー(CD)サーバー上では常に共有セッション状態を設定しなければなりません。
!注共有セッション状態はコンテンツ管理(CM)サーバーではサポートされていません。
共有セッションステートは、抽象SessionStateStoreProviderBaseクラスを拡張する任意のセッションステートストアプロバイダー(ASP.NETに付属)を使用できるように設定できます。唯一の追加要件は、セッションステートストアプロバイダーがSessionStateItemExpireCallbackデリゲートを使ってSessionEndイベントを呼び出せることです。
!注ASP.NETに付属する標準のOutOfProcSessionStateStoreクラスはSessionEndイベントをサポートしていないため、共有セッション状態では使用できません。
このウォークスルーでは、Sitecore ASP.NET SQL Serverセッションステートプロバイダーを使って、SQL Serverデータベースを共有セッションステートストアプロバイダーとして使う方法を説明します。以下のような方法を説明しています:
- SQL Serverセッションデータベースのデプロイ
- Sitecoreの設定
- 共有セッションの状態設定を調整する
SQL Serverセッションデータベースのデプロイ
Sitecore ASP.NET Session State Provider(SQL Server)は、SQL Serverをセッションステートストアとして使用できるようにします。このプロバイダは、xDBがウェブサイト訪問を追跡するために必要なSessionEndイベントをサポートします。
!注共有セッションの状態情報とプライベートセッションの状態情報を同じデータベースに保存できます。データベースはセッションの種類を区別できます。
SQL Serverセッションデータベースを展開するには:
-
2016年以降Microsoft SQL Server Management Studio 100を始めましょう。
-
セッションデータベースをインストールしたいサーバーノードにConnectしてください。
-
サーバーノードを展開し、「 データベース」を右クリックしてから 「データティアアプリケーションをデプロイ」をクリックします。
-
データ ティアアプリケーションをデプロイ するウィザードの「パッケージ選択」ページで、「 ブラウズ」をクリックします。
-
Sitecore.Sessions.dacpacファイルを選択して「次へ」をクリックします。
!注SitecoreアーカイブのルートにあるDatabasesフォルダでそのファイルを確認できます。
-
「設定の更新」ステップでデータベース名を指定し、「次へ」をクリックし、要約情報の検証後に**「次へ**」をクリックします。デプロイが完了すると、セッションデータベースは添付データベースのリストに表示されます。
-
ConnectionStrings.configファイルに以下の接続文字列を追加します:
-
接続文字列のユーザーはセッションデータベース上でストアドプロシージャを実行することを許可されなければなりません。他の権限は必要ありません。システム管理者は以下のSQL文でこの権限を付与できます:
USE
; GRANT EXECUTE TO ; GO
Sitecoreの設定
!注設定ファイルに直接変更を加えないでください。代わりに、実行時に必要な変更を行う パッチファイル を作成する必要があります。
デフォルトでは、Sitecoreはインプロセスプロバイダーを使用し、これはデータをメモリに格納し、内部のASP.NETInProcSessionStateStoreクラスで実装されています。
SitecoreをSQL Serverの共有セッションステートストアプロバイダーをデフォルトではなく使用するように設定するには:
-
ウェブサイトのルートフォルダで \App_Config\Sitecore\Marketing.Trackingフォルダに移動します。
-
Sitecore.Analytics.Tracking.Configファイルを開け。
-
デフォルトの共有セッション状態プロバイダーを定義できる行を次のパスで探sitecore/tracking/sharedSessionState。
-
デフォルトのプロバイダーをinProcからmssqlに変更し、name属性値をmssqlに変更します。
!注共有セッションの状態情報とプライベートセッションの状態情報を同じデータベースに保存できます。データベースはセッションの種類を区別できます。
共有セッションの状態設定を調整する
Sitecore.Analytics.Tracking.Configファイル内で、以下のセッションステート設定を編集してください:
舞台設定
概要
価値
connectionStringName
Sitecoreがセッションデータベースに接続するために使用する接続文字列を指定します。
欲しいセッションステートデータベースを指定するために編集してください。
例えば:
connectionStringName="sharedSession"
pollingInterval
セッション状態提供者がセッションの期限切れを確認するために使用する秒単位の時間間隔を指定します。
例えば:
pollingInterval="2"
compression
セッションステートデータを圧縮したいと指定しています。
デフォルト値は trueです。セッションステートデータを圧縮することで、データベースとSitecoreインスタンス間で転送するデータ量が減ります。これにより追加のCPUオーバーヘッドが発生することがあります。
例えば:
compression="true"
sessionType
セッション状態のタイプが sharedであることを指定します。
唯一の有効な価値:
sessionType="shared"