具有 Lucene 搜索配置的分布式环境中的 Sitecore EXM 列表管理器

Sitecore EXM List Manager in distributed environment with Lucene Search Configuration

我们正在使用 Lucene 索引而不是 Solr。我们目前在 CD 服务器中的列表管理器中遇到问题。以下代码在 CD 服务器中抛出异常,因为它无法从 Sitecore 配置工厂实例化列表管理器。

newsRecipientList = listRepository.GetEditableRecipientCollection("{my list guid }");

我已经在扩展环境中浏览了 List Manager 的 Sitecore 文档,但它只讨论了 Solr。 https://doc.sitecore.net/sitecore_experience_platform/digital_marketing/the_list_manager/configure_the_list_manager_in_a_scaled_environment

非常感谢任何关于使用 Lucene 的 List Manager 配置 Sitecore 的指导。

Sitecore 异常堆栈跟踪

Value can not be null : listManager at Sitecore.Modules.EmailCampaign.Factories.BusinessLogicFactory.<>c__DisplayClassd.b__b() at Sitecore.Modules.EmailCampaign.Core.InstanceCreator.GetConfiguredInstanceOrDefault[TResult](String configurationPath, Func1 defaultInstanceBuilder) at Sitecore.Modules.EmailCampaign.Factories.BusinessLogicFactory.<>c__DisplayClassd.<CreateDefaultFactory>b__a() at Sitecore.Modules.EmailCampaign.Factories.InitializedOnce1.get_Value() at Sitecore.Modules.EmailCampaign.ListManager.ListManagerCollectionRepository.GetEditableRecipientCollection(String recipientCollectionId)

如果您遵循交付环境指南,ListManager 将被禁用,这可能是您看到该错误的原因。相同的代码是否适用于 CM? (启用 LM)

由于列表管理器在 CD 环境中不可用,我们需要调用 Sitecore API 来 update/add 联系人。 class 下方有 api 的要修改联系人列表。

Sitecore.Modules.EmailCampaign.ClientApi

我们需要在 CD 服务器中添加连接字符串才能调用此 api。

<add name="EmailCampaignClientService" connectionString="url=http://<Your CM Server host>/sitecore%20modules/web/emailcampaign/ecmclientservice.asmx;timeout=60000" />