Sitecore Analytics - Tracker.Current 在通过管道调用时为空
Sitecore Analytics - Tracker.Current is null when invoked through a pipeline
我有以下方法
GetValue()
{
var value = Tracker.Current.Contact;
}
始终执行。
然而,当我从 ItemResolver
管道调用上述方法时,Tracker.Current
始终为 null。
public class CustomItemResolver : HttpRequestProcessor
{
public override void Process(HttpRequestArgs args)
{
GetValue();
}
}
我在这里错过了什么?
Tracker 在 startAnalytics
管道期间初始化,由 renderLayout
管道 Sitecore.Analytics.Pipelines.HttpRequest.StartAnalytics
处理器启动。
如果确实需要提前初始化Tracker,可以使用以下方法:
Sitecore.Analytics.Tracker.StartTracking();
请记住,Sitecore 启动 Tracker 的时间要晚得多,我很确定他们在 ItemResolver
之前没有这样做是有原因的,所以您要自行负责。
我有以下方法
GetValue()
{
var value = Tracker.Current.Contact;
}
始终执行。
然而,当我从 ItemResolver
管道调用上述方法时,Tracker.Current
始终为 null。
public class CustomItemResolver : HttpRequestProcessor
{
public override void Process(HttpRequestArgs args)
{
GetValue();
}
}
我在这里错过了什么?
Tracker 在 startAnalytics
管道期间初始化,由 renderLayout
管道 Sitecore.Analytics.Pipelines.HttpRequest.StartAnalytics
处理器启动。
如果确实需要提前初始化Tracker,可以使用以下方法:
Sitecore.Analytics.Tracker.StartTracking();
请记住,Sitecore 启动 Tracker 的时间要晚得多,我很确定他们在 ItemResolver
之前没有这样做是有原因的,所以您要自行负责。