コンタクトファクトリークラス
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
ContactFactoryクラスは現在のランタイムユーザーのIDを取得するために使われます。デフォルトの実装は追跡のためにSitecore Analyticsに依存しています。もしこれがあなたのニーズに合わない場合は、ContactFactoryクラスを拡張しGetContactメソッドを上書きすることで変更できます。
以下はデフォルトインスタンスの動作例です。ECSからユーザーのIDを得た場合、そのIDを持つTracker.Current.Contact ( Tracker.Current.Session.Identify()メソッドを用いて)識別し、そこからContactFactoryクラスがこのIDを返します。外部ユーザーからIDがなければ、Sitecore Analyticsが作成したIDが使われます。
public virtual string GetContact() { if (Tracker.Current == null) { if (HttpContext.Current != null && HttpContext.Current.User != null) { return HttpContext.Current.User.Identity.Name; }
return System.Threading.Thread.CurrentPrincipal.Identity.Name; } var user = Tracker.Current.Contact.Identifiers.Identifier; if (string.IsNullOrEmpty(user)) { user = Sitecore.Data.ID.Parse(Tracker.Current.Contact.ContactId).ToString(); } return user; }