【问题标题】:Kentico Personas Update time DelayKentico Personas 更新时间延迟
【发布时间】:2016-08-15 02:17:38
【问题描述】:

我们正在为我们的一个网站使用 Kentico 内置角色,并且在更新角色时遇到了大约 5 秒的延迟。我们有一些联系字段,我们使用规则来设置角色。有什么方法可以提高角色的更新时间。我们使用如下代码 sn -p 来更新联系人:

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

【问题讨论】:

    标签: c# kentico


    【解决方案1】:

    在 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.config 键:

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

    默认情况下,Kentico 将活动/联系人更新存储在内存中,然后每 10 秒处理一次,通过将其更改为 1,您应该会更快地看到更改。请记住,对于始终记录大量活动的高流量站点,不建议这样做。原因是活动需要登录到数据库,并且您不想一直访问您的数据库。

    【讨论】:

    • 非常感谢您的回答。现在速度有点快了。立即联系更新,只需几秒钟即可更新角色。正如我在问题中提到的,我们使用规则来更新角色。我认为主要问题是从规则中更新角色需要一段时间。有什么办法可以从规则中改善角色更新时间。
    • 嘿,看看新评论。加快处理速度的方法是使用 "" web.config 键。希望对您有所帮助!
    猜你喜欢
    • 1970-01-01
    • 2014-06-05
    • 2010-11-08
    • 2021-10-10
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    相关资源
    最近更新 更多