C# 在BizTalk发送端口中生成两条消息(来自一条输入消息)
我想在管道组件中创建两条消息,并将其传递到组装阶段,在组装阶段它将通过BTAHL7 Microsoft加速器 管道组件将置于发送管道“预组装”阶段 这是返回消息的代码C# 在BizTalk发送端口中生成两条消息(来自一条输入消息),c#,biztalk,custom-pipeline-component,biztalk-pipelines,C#,Biztalk,Custom Pipeline Component,Biztalk Pipelines,我想在管道组件中创建两条消息,并将其传递到组装阶段,在组装阶段它将通过BTAHL7 Microsoft加速器 管道组件将置于发送管道“预组装”阶段 这是返回消息的代码 private System.Collections.Queue qOutputMsgs = new System.Collections.Queue(); IBaseMessage[] allMessages = new IBaseMessage[] { pInMsg, pInMsg }; foreach (IBaseMess
private System.Collections.Queue qOutputMsgs = new System.Collections.Queue();
IBaseMessage[] allMessages = new IBaseMessage[] { pInMsg, pInMsg };
foreach (IBaseMessage msg in allMessages)
{
qOutputMsgs.Enqueue(msg);
}
return (IBaseMessage)qOutputMsgs.Dequeue();
出于测试目的,我将两个pInMsg
添加到了一个数组中,并循环通过这个数组将其添加到队列中。然后,分别返回消息
然而,尽管队列有2个值,但在管道的其他部分(汇编和编码),它只返回一条消息
为什么会这样?如何让它返回两条消息?此逻辑在Execute方法中不起作用。您需要为这样的管道实现IDisassembler接口,并且需要在接收位置上使用它。或者,在发送到发送端口之前,使用业务流程创建多条消息 此逻辑在Execute方法中不起作用。您需要为这样的管道实现IDisassembler接口,并且需要在接收位置上使用它。或者,在发送到发送端口之前,使用业务流程创建多条消息