Kentico角色更新时间延迟

本文关键字:时间延迟 更新 角色 Kentico | 更新日期: 2023-09-27 18:02:20

我们正在为我们的一个网站使用Kentico内置的人物角色,我们在更新人物角色时遇到大约五秒钟的延迟。我们有一些联系域,我们使用规则来设置角色。是否有办法改善角色的更新时间?我们使用以下代码片段更新联系人:

int contactId = ModuleCommands.OnlineMarketingGetCurrentContactID();
Dictionary<string, object> contactData = new Dictionary<string, object>();
contactData.Add("key", "Test");
ModuleCommands.OnlineMarketingUpdateContactFromExternalSource(contactData, true, contactId);

Kentico角色更新时间延迟

在Kentico中更新联系人的推荐方法是像这样使用ContactInfoProvider类:

    var contact = ContactInfoProvider.GetContactInfo(OnlineMarketingContext.CurrentContactID);
    if (contact != null)
    {
        // update contact
        contact.ContactFirstName = "Arnold";
        contact.SetValue("CustomField", "Value");
        // save contact
        contact.Update();
    }

此代码直接在数据库中更新联系人,并且没有延迟更新联系人。

要确保重新计算角色/联系人组,您可以使用以下web。配置关键:

<add key="CMSProcessContactActionsInterval" value="1" />

Kentico默认存储在内存中的活动/联系人更新,然后每10秒处理一次,通过将其更改为1,您应该看到更快的变化。请记住,不建议在高流量的网站上使用这种方法,因为网站上一直记录着大量的活动。原因是活动需要登录到DB中,并且您不想一直访问DB。