gpt4 book ai didi

Sitecore 分析 : Trigger profiles and events from webservice

转载 作者:行者123 更新时间:2023-12-04 10:21:15 26 4
gpt4 key购买 nike

我有问题 Sitecore.Analytics
在我的 xslt 中,我使用 jQuery 对网络服务进行了 ajax 调用。

在我的网络服务中,我需要注册/保存一些 Sitecore.Analytics数据。
问题是我不能使用 Sitecore.Analytics.AnalyticsTracker.Current .

那我该怎么办 TriggerProfileTriggerEvent ?
不知道Sitecore.Analytics.AnalyticsManager可能有任何帮助。

最佳答案

我最近遇到了一个类似的场景,必须在 Web 服务中跟踪分析事件。正如您所指出的,问题在于 AnalyticsTracker.Current在 Web 服务的上下文中为 null。

这样做的原因是AnalytisTracker.CurrenttrackAnalytics 期间填充管道,依次在 renderLayout 期间调用管道,仅当上下文项不为空且上下文项已定义表示设置时才会调用。

话虽如此,有一个解决方法:)

您可以启动 AnalyticsTracker像这样手动:

if (!AnalyticsTracker.IsActive)
{
AnalyticsTracker.StartTracking();
}

然后您可以检索 AnalyticsTracker像这样的例子:
AnalyticsTracker tracker = AnalyticsTracker.Current;
if (tracker == null)
return;

最后,您可以创建和触发您的事件、配置文件等... 下面的示例触发了 PageEvent .注意:对于 PageEvent 需要特别考虑。 (以及最有可能的其他事件)以获得 Timestamp属性(property)人口。请参阅下面代码中的注释。
if (!AnalyticsTracker.IsActive)
{
AnalyticsTracker.StartTracking();
}

AnalyticsTracker tracker = AnalyticsTracker.Current;
if (tracker == null)
return;

string data = HttpContext.Current.Request.UrlReferrer != null
? HttpContext.Current.Request.UrlReferrer.PathAndQuery
: string.Empty;

//Need to set a context item in order for the AnalyticsPageEvent.Timestamp property to
//be set. As a hack, just set the context item to a known item before declaring the event,
//then set the context item to null afterwards.
Sitecore.Context.Item = Sitecore.Context.Database.GetItem("/sitecore");

AnalyticsPageEvent pageEvent = new AnalyticsPageEvent();
pageEvent.Name = "Download Registration Form Submitted";
pageEvent.Key = HttpContext.Current.Request.RawUrl;
pageEvent.Text = HttpContext.Current.Request.RawUrl;
pageEvent.Data = data;

//Set the AnalyticsPageEvent.Item property to null and the context item to null.
//This way the PageEvent isn't tied to the item you specified as the context item.
pageEvent.Item = null;
Sitecore.Context.Item = null;

tracker.CurrentPage.TriggerEvent(pageEvent);
tracker.Submit();

希望这可以帮助!

关于Sitecore 分析 : Trigger profiles and events from webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5118010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com