Sitecore 8.0 программно добавляет контакты в список

Я сталкиваюсь с программным добавлением и удалением контактов из списка в 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 добавляет контакт в список из listmanager), но это, кажется, ухудшает ситуацию, и я получаю проблему сразу после добавления удаления контакта. С третьей попытки ошибки метода AddRecipient с исключением TryLoadContact.

0 ответов

Другие вопросы по тегам