3

我遇到的是以编程方式从 Sitecore 的列表中添加和删除联系人。我用来添加的代码如下:

public void AddContactsToList(Sitecore.ListManagement.ContentSearch.Model.ContactList contactList, List<Sitecore.ListManagement.ContentSearch.Model.ContactData> contactsToAdd)
{
    ContactListManager listManager = Sitecore.Configuration.Factory.CreateObject("contactListManager", false) as ContactListManager;

    using (new SecurityDisabler())
    {
        listManager.AssociateContacts(contactList, contactsToAdd);
    }
}

本质上,我有一个 ContentList 实例,并使用 ContactListManager 调用 AssociateContacts 将联系人添加到列表中。对于删除联系人,我有一个类似的方法,它改为调用 RemoveContacts。

在发送电子邮件之前,这一切都很好,此时我遇到了 AssociateContacts 方法根本没有错误的情况,并且日志文件看起来很正常,但是最近发送电子邮件的联系人不再被添加或从列表中删除。几个小时后一切正常。

我尝试了此处描述的不同解决方案(Sitecore 8 EXM add a contact to list from listmanager)但这似乎使事情变得更糟,我在添加删除联系人后直接遇到了问题。第三次尝试 AddRecipient 方法时出现 TryLoadContact 异常。

4

0 回答 0