我希望在管道组件中创建两条消息,并将其传递到组装阶段,在组装阶段,它将通过BTAHL7微软加速器。
管道组件将放置在发送管道的“预装配”阶段。
这是返回消息的代码。
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添加到一个数组中,并通过这个数组循环将其添加到队列中。然后,返回分隔的消息。
但是,尽管队列有两个值,但在管道的其他部分(组装和编码),它只返回一条消息。
为什么要这么做?我怎样才能让它回复两条信息?
发布于 2018-01-25 19:03:49
此逻辑在Execute方法中不能工作。您需要为这样的管道实现IDisassembler接口,并且需要在接收位置使用它。或者在发送到发送端口之前,使用业务流程创建多条消息。
https://stackoverflow.com/questions/48445265
复制相似问题