如何确定sitecore页面的访问者是否唯一?

如何确定sitecore页面的访问者是否唯一?,sitecore,Sitecore,我想确定查看sitecore页面的用户首次访问该页面时是否唯一。我试图使用以下代码,但它似乎只基于会话。是否有一种可以跨会话工作的替代方案 protected bool First_Visit() { var pageId = ActionItem.ID.ToGuid(); var visitCount = Sitecore.Analytics.Tracker.Visitor.DataContext.Pages.Select(pagesRow =

我想确定查看sitecore页面的用户首次访问该页面时是否唯一。我试图使用以下代码,但它似乎只基于会话。是否有一种可以跨会话工作的替代方案

    protected bool First_Visit()
    {
        var pageId = ActionItem.ID.ToGuid();

        var visitCount = Sitecore.Analytics.Tracker.Visitor.DataContext.Pages.Select(pagesRow =>
            pagesRow.ItemId.Equals(pageId)
        ).Count();

        return visitCount == 1;
    }
我想你需要先做Tracker.Visitor.LoadAll。这将加载该特定访问者的所有访问数据

编辑


话虽如此,不言而喻,如果访问者来自一个身份不明的设备,即一个现有的访问者来自一个设备,但他们没有在该设备上表明自己的身份,则该访问者将被视为该用户的第一次访问。

这就是我所想到的,似乎在整个会话中都能正常工作:

    protected bool First_Visit()
    {
        var pageId = ActionItem.ID.ToGuid();
        var visitor = Sitecore.Analytics.Tracker.Visitor;
        var visits = from visit in visitor.DataContext.Visits
                     from page in visit.GetPages()
                     where page.ItemId.Equals(pageId)
                     select page;

        return visits.Count() == 1;
    }