Sitecore 8.0以编程方式将联系人添加到列表中

时间:2016-10-03 10:04:45

标签: sitecore sitecore8 sitecore-ecommerce sitecore-exm

我遇到的是以编程方式在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),但这似乎会让事情变得更糟,我在添加删除联系人后直接得到了问题。使用TryLoadContact异常第三次尝试AddRecipient方法错误。

0 个答案:

没有答案