カスタムのトークンを使用する際、通常のメッセージの送信が一時停止される


説明

カスタムのトークンを使用する際、スレッドセーフでないとみなされるため、通常のメッセージの配信が一時停止される恐れがあります。この問題が発生すると、次のエラーがログに記録されることがあります:

MessageTaskRunner worker thread 7 
ERROR Message sending error: System.ArgumentException: An item with the same key has already been added. at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at Sitecore.Modules.EmailCampaign.Core.Dispatch.DispatchManager.RestoreCustomTokensFromQueue(MessageItem message, Dictionary`2 customPersonTokens) at Sitecore.Modules.EmailCampaign.Core.Dispatch.DispatchTask.GenerateEmailContent(Recipient recipient, String emailAddress, Language language, Guid recipientId, Dictionary`2 customPersonTokens, DateTime& startGetPageTime, DateTime& endGetPageTime, DateTime& startCollectFilesTime, DateTime& endCollectFilesTime) at Sitecore.Modules.EmailCampaign.Core.Dispatch.DispatchTask.OnSendToNextRecipient()

この問題は、EXMのバージョン3.2 Update-1~バージョン3.4 Update-2で発生します。

解決策

この問題を解決するには、以下のオプションの検討の上、実施してください: