首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sitecore分析跟踪器CurrentVisit数据重置(C#、ASP.Net)

Sitecore分析跟踪器CurrentVisit数据重置(C#、ASP.Net)
EN

Stack Overflow用户
提问于 2016-05-06 00:41:46
回答 1查看 456关注 0票数 0

我正在使用Sitecore.Analytics.Tracker在我的网站上进行个性化。我已经为用户添加了手动更改他们的邮政编码的能力,这会改变他们在网站的某些部分看到的内容。使用Tracker.CurrentVisit.PostalCode检索邮政编码

代码语言:javascript
运行
复制
public string GetCurrentZipCode()
{
    return Tracker.CurrentVisit.PostalCode.IsNotNullOrEmpty() ? Tracker.CurrentVisit.PostalCode : String.Empty;
}

public void SetCurrentZipCode(string zip)
{
    Tracker.CurrentVisit.PostalCode = zip;

}

这是可行的,但很麻烦;每当我重新加载页面时,邮政编码都会变回默认值,我发现这是因为有时页面加载时,PostalCode会变回空字符串。

为什么Tracker.CurrentVisit.PostalCode会被重置?这是Sitecore中的设置吗?我怎么才能阻止它呢?理想情况下,PostalCode的值应该在整个会话期间保持不变。

EN

回答 1

Stack Overflow用户

发布于 2016-05-06 01:00:51

联系人有一个可用于存储此信息的地址集合。

Sitecore.Analytics.Model.config:

代码语言:javascript
运行
复制
<facets>
  <facet name="Addresses" contract="Sitecore.Analytics.Model.Entities.IContactAddresses, Sitecore.Analytics.Model" />
</facets>

有关这些接口的详细信息,请参阅IContactAddresses和IAddress。IContactAddresses有一个Entries集合,它是IAddress对象的列表。

访问当前联系人的地址信息:

代码语言:javascript
运行
复制
private IContactAddresses _addressInfo;

protected IContactAddresses  AddressInfo
{
    get
    {
        return _addressInfo ?? (_addressInfo = Tracker.Current.Contact.GetFacet<IContactAddresses>("Addresses"));
    }
}

您可以获取表示当前联系地址信息的该对象,并更新各种属性以将该数据保存在内存中,直到用户会话结束。此时,数据将被写回xDB,以便您以后可以将其取回。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37055869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档