【发布时间】:2017-01-19 13:42:01
【问题描述】:
我需要在管道组件内动态创建一个 MSMQ。我正在按以下方式编写 IBaseMessage 的 Execute 方法。
public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg)
{
IBaseMessagePart bodyPart = pInMsg.BodyPart;
if (!MessageQueue.Exists(@".\private$\NewQueue.Queue"))
{
var messageQueue = MessageQueue.Create(@".\private$\NewQueue.Queue");
messageQueue.SetPermissions("Everyone", MessageQueueAccessRights.FullControl);
}
MessageQueue RequestQueue = new MessageQueue(@".\private$\NewQueue");
Message SendMsg = new Message();
SendMsg.Body = bodyPart;
RequestQueue.Send(SendMsg, "Siddharth");
return pInMsg;
}
消息从接收端口发送到发送端口,但它没有创建任何队列,因为我认为我的 Execute 方法没有执行或者我没有编写正确的代码。请帮忙。在此先感谢:)
【问题讨论】:
-
好吧,在我们回答之前,您为什么要这样做?动态创建队列不是一个好主意。但最重要的是,这不是在 BizTalk 中发送消息的正确方式。