我在「GetAttachedDataInformationUCS」命令之前在「BundleClose」鏈中插入自定義命令,但它在「關閉」命令後執行該命令。我曾嘗試在「GetAttachedDataInformationUCS」之前,之後和之後插入它,但它總是在「Close」命令後執行。我如何才能按預期工作?插入的命令鏈執行順序不正確
_commandManager.InsertCommandToChainOfCommandAfter("BundleClose", "GetAttachedDataInformationUCS",
new List<CommandActivator>
{
new CommandActivator
{
CommandType = typeof(UpdateDispositionDateCommand),
Name = "UpdateDispositionDateCommand"
}
});
下面是自定義命令:
public class UpdateDispositionDateCommand : IElementOfCommand
{
public UpdateDispositionDateCommand()
{
Name = "UpdateDispositionDateCommand";
}
public bool Execute(IDictionary<string, object> parameters, IProgressUpdater progressUpdater)
{
return false;
}
public string Name { get; set; }
}
這裏是日誌的縮短版,顯示不正確的命令執行:
Exe CoC BundleClose -> Name:GetAttachedDataInformationUCS
Exe CoC BundleClose -> Name:UpdateNotePadForVoice
Exe CoC BundleClose -> Name:ResetInteractionChatConsultation
Exe CoC BundleClose -> Name:IsContactModified
Exe CoC BundleClose -> Name:SipEndpointAskClearSEPCalls
Exe CoC BundleClose -> Name:IsPossibleToClose
Exe CoC BundleClose -> Name:CompleteDispositionCodeOnBundle
Exe CoC BundleClose -> Name:ValidateEditableDataBundle
Exe CoC BundleClose -> Name:Close
Exe CoC InteractionVoiceBeforeClose -> Name:DoNotCallOutboundChain
Exe CoC InteractionVoiceBeforeClose -> Name:SetCallResultOutboundRecord
Exe CoC InteractionVoiceBeforeClose -> Name:RescheduleOutboundRecord
Exe CoC InteractionVoiceBeforeClose -> Name:UpdateRecordCommand
Exe CoC InteractionVoiceBeforeClose -> Name:MarkProcessedOutboundChainCommand
Exe CoC InteractionVoiceBeforeClose -> Name:RescheduleGMECallback
Exe CoC InteractionVoiceBeforeClose -> Name:SetGMECallbackDisposition
Exe CoC InteractionVoiceBeforeClose -> Name:ClearSessionCommand
Exe CoC InteractionVoiceBeforeClose -> Name:IsContactModified
Exe CoC InteractionVoiceBeforeClose -> Name:SipEndpointClearSEPCalls
Exe CoC InteractionVoiceBeforeClose -> Name:Close
Exe CoC BundleClose -> Name:UpdateDispositionDateCommand
Exe CoC BundleClose -> Name:StopInteractionVoiceUCS
Exe CoC BundleClose -> Name:GetOutboundPreviewRecord
我同意。另外文檔說BundleClose鏈中有一堆命令,但是如果在模塊加載時調用ICommandManager.DumpToLog(),您將會看到該鏈只有IsPossibleToClose,ValidateEditableDataBundle和Close。在我的情況下,在關閉工作之前放置該命令。那些丟失的命令必須稍後添加。 –