Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在BizTalk发送端口中生成两条消息(来自一条输入消息)_C#_Biztalk_Custom Pipeline Component_Biztalk Pipelines - Fatal编程技术网

C# 在BizTalk发送端口中生成两条消息(来自一条输入消息)

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

我想在管道组件中创建两条消息,并将其传递到组装阶段,在组装阶段它将通过BTAHL7 Microsoft加速器

管道组件将置于发送管道“预组装”阶段

这是返回消息的代码

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接口,并且需要在接收位置上使用它。或者,在发送到发送端口之前,使用业务流程创建多条消息