gpt4 book ai didi

c# - 直接向 BizTalk 或通过 MSMQ 发送消息?

转载 作者:太空狗 更新时间:2023-10-30 00:53:33 25 4
gpt4 key购买 nike

这是我第一次使用 BizTalk 进行跨机器、异步、可靠的通信。
我想知道有没有一种方法可以直接将消息从一台机器发送到 BizTalk 队列,或者我必须使用本地 MSMQ,后者又将消息发送到 BizTalk?

在 C# 中,是否存在用于将消息发送到 BizTalk 队列的绑定(bind)?
对于 MSMQ,我知道有 NetMsmqBinding。

干杯

更新:

由于我引入了一些困惑,我会尝试解释一下,如果我错了请纠正我。
据我所知,ESB 实现了队列或消息 channel 的概念,可用于可靠的异步通信(简称消息传递)。现在,我很难将 BizTalk 放入这个概念中。对 ESB 概念有多种解释,关于 BizTalk 是否是 ESB,如 Sonic 或 TIBCO,也有相同数量的意见......
现在,据我所知,例如在实现 JMS API 的 TIBCO 中,本地客户端计算机(例如 MSMQ)上没有队列或排队服务,但它们在 TIBCO ESB 和客户端应用程序上存在和配置,我使用 JMS API向这些队列发送消息。
因此,当我想通过 BizTalk 与不同计算机上的应用程序进行通信并且我想使用消息传递时,我将在本地计算机上使用 MSMQ,MSMQ 会将这些消息传输到下游的 BizTalk 和其他应用程序?
另外,本地MSMQ和BizTalk之间的通信应该在哪里配置?我应该将 BizTalk 配置为监听给定的 MSMQ 以获取新消息,还是应该对 MSMQ 本身进行一些配置?

最佳答案

BizTalk 通过称为适配器 的工件与外界通信,它可以通过各种消息传递协议(protocol)提供对外界可见的端点。

有一个 MSMQ 适配器,它似乎能够读取和发布到本地计算机或远程计算机上的队列。我从未使用过它,所以我来自阅读 docs 的位置在此适配器上,并在进行过程中找出答案。我发现 BizTalk 文档特别难以浏览,尤其是现在很多 Microsoft 链接都找不到了——我花了一些时间才找到我提到的这些页面。如果您发现任何不明显的问题,请告诉我,因为我确信有一些我从未找到过的有用资源。

配置 BizTalk 以监听队列:

  • 创建单向接收端口
  • 创建一个与该端口关联的单向接收位置
  • 将接收位置的传输类型设置为“MSMQ”
  • 点击“配置”
  • 指定要使用的凭据和队列名称(包括机器名称,暗示它在远程队列上同样有效)
  • 根据您的情况适当设置其他属性

应该就是它的全部。发布到该队列应该会导致在该端口上接收到一条消息,该消息会立即将其持久保存到消息框数据库中。您必须使用管道和/或映射进行一些处理,以便对消息执行任何有用的操作。

但是,您绝不仅限于 MSMQ。 pretty comprehensive list可用,并且 BizTalk 不会限制您使用任何特定的消息传递协议(protocol)。您还可以使用您需要的任何行为来实现自定义适配器。为了更有用地回答您的问题,了解您的真正需求是有帮助的 - 例如,客户端应用程序的用例是什么?

关于c# - 直接向 BizTalk 或通过 MSMQ 发送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15882497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com