如何使用Biztalk在管道组件中创建MSMQ
本文关键字:创建 MSMQ 组件 管道 何使用 Biztalk | 更新日期: 2023-09-27 18:06:33
我需要在管道组件内动态创建一个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方法没有执行或我没有编写正确的代码。请帮助。提前感谢:)
可能你的execute方法实际上正在被调用,但随后发生了两件事之一:
- 运行主机实例的服务帐户没有创建队列所需的权限,或者
- 正在创建队列,但随后您的代码的其余部分不做任何事情,因为队列的地址不正确(缺少"。队列"后缀)。
您可以将调试器附加到本地btsntsvc.exe进程,并查看是否正在调用它。