问题标签 [masstransit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
992 浏览

c# - MassTransit 实施:有时未收到消息

我正在与一个非常奇怪的问题作斗争......我已经在 WCF 服务之间实现了服务总线通信(通过 MassTransit + MSMQ),在 Windows 7 Ultimate 上使用 .NET 4.0。当服务启动时,一切正常并且它们互相接收消息,但是在给定的点上,它们不再接收它们,直到我手动删除计算机管理中的私有队列 -> 服务和应用程序 -> 消息队列 - > 私人队列。

对于每项服务,我都有一个引导程序,我在其中配置了 MassTransit:

然后服务主类扩展了 MassTransit,这里是一个例子:

正如我所解释的,在给定的点上,不再调用 Accept 方法。唯一的方法是手动删除私有队列并重新启动服务。然后系统再次正常工作,直到下一个麻烦:-(。

任何建议将不胜感激。

非常感谢!亚历山德罗

0 投票
1 回答
613 浏览

masstransit - 要“暂停”订阅处理,我应该处置 ServiceBus 还是取消订阅?

我正在尝试想出一个好方法来“暂停”使用 Mass Transit ServiceBus 处理消息。基本上我需要让我的 Windows 服务运行,但暂时停止处理消息。

我只能想到两种方法来做到这一点,使用订阅令牌,或者处置服务总线。

有没有首选的方法,或者我走错了路?

0 投票
1 回答
1255 浏览

msmq - MassTransit 订阅和接收自己的消息

我正在尝试使用 MassTransit 实现概念验证服务总线。我有三个应用程序需要在彼此之间传达通用实体类型的更改。因此,当用户在一个应用程序中更新实体时,会通知其他两个应用程序。

每个应用程序都使用自己的队列配置如下:

还有一个订阅服务应用配置如下:

问题是当其中一个应用程序发布消息时,所有三个应用程序都会收到它(包括原始发送者)。

有什么方法可以避免这种情况(无需将应用程序名称添加到消息中)?

谢谢,

G

0 投票
1 回答
613 浏览

c# - 用ironpython实现泛型父类的嵌套接口

我不想用 IronPython 实现以下 C#/.Net 接口:

这是我到目前为止尝试的python代码:

由此我得到以下异常:

TypeError:TestConsumer:无法从打开的通用实例化 MassTransit.Consumes`1+All[TMessage] 继承。仅支持关闭的实例化。

实现此接口的有效 C# 类定义如下所示:

那么是不是不可能在 IronPython 中实现这种功能呢?还是我做错了?

先感谢您!

0 投票
1 回答
457 浏览

c# - Masstransit:无法从 Visual Studio (QueueNotFound) 中运行代码

我正在尝试从 MassTransit 项目运行一些示例代码:

当我现在只是F5在 Visual Studio 中时,我得到以下异常:

我在管理控制台中检查了 MessageQueues,确实看到队列不存在。但是,如果我运行 TestApp1.exe,一切正常并创建队列。回到 Visual Studio,仍然是同样的错误(但队列现在可用。)

我试过设置队列的安全性(每个人都可以完全访问),但它没有改变。

我究竟做错了什么?为什么我不能从 Visual Studio 中运行它?

编辑

我已经安装RabbitMQ并更新了代码:

它有效。
问题仍然存在:msmq 有什么问题?我宁愿继续使用它。

0 投票
0 回答
359 浏览

structuremap - 使用 StructureMap 扫描外部模块中公开的实现

我正在尝试使用 StructureMap 2.6.4 扫描一个模块文件夹(dll,运行时已知的位置),以查找任何关闭某个接口的模块。在本例中,它是来自 MassTransit 的 Consumes.Context。

我的类,其中可能有许多实现,在模块文件夹中:

我的 StructureMap 扫描仪:

当我查看容器中的对象时,我没有看到我的任何 Consumes<>.Context 实现。我确实在调试文件夹中看到了来自其他 dll 的对象。

但是,如果我将模块的 dll 复制到子目录并像这样扫描:

扫描仪捡起我的物品。

失败:

作品:

为什么将我的 dll 放在子目录中工作而不在父目录中工作?

我应该如何在 Modules 目录中扫描 Consumes.Context 的实现?谢谢!

0 投票
2 回答
1553 浏览

msmq - 如何使用 MassTransit 和 MSMQ 正确设置发布者-订阅者体系结构?

如何使用 MassTransit 和 MSMQ 正确设置具有多个订阅者(都接收已发布消息)的发布者-订阅者架构。

请注意,我不想使用 MSMQ 多播功能,因为它有点不稳定并且依赖于 PGM(它自身有一些限制)。

我已经阅读了这个这个这个,但仍然无法弄清楚我应该如何设置

  1. 订阅服务,
  2. 出版商,
  3. 和几个订阅者。

特别sbc.UseSubscriptionService("uri");是在许多示例中使用的现在已过时(我使用的是 MassTransit 2.7)。过时的评论说The extension method on UseMsmq should be used instaed,但我找不到这样的方法。
我们应该如何设置订阅服务?

MassTransit Github 页面上的Distributor示例与我想要的最接近,但它设置了消费订阅者。

请指出或提供一个示例,说明如何设置可能有多个订阅者的发布者-订阅者架构。

谢谢你的时间。

0 投票
1 回答
740 浏览

design-patterns - 使用 MSMQ 上的 MassTransit 进行精确一次交付和按顺序交付

在 MSMQ 上使用 MassTransit 可以自动支持精确一次传递(例如,当事件存储发布两次事件时)和按顺序传递(例如,当两个节点同时写入/发布事件时,节点 A 可能存储事件#2,然后节点 B 读取事件 #2,节点 B 存储事件 #3,节点 B 发布事件 #3,节点 A 发布事件 #2 - 典型的竞争条件)?

如果 MassTransit 不支持开箱即用(我目前假设),那么使用 MassTransit/MSMQ 实现这两个要求的最佳/常用方法是什么。

0 投票
1 回答
949 浏览

c# - MassTransit 与 RabbitMQ 集群连接问题

我遇到了这个问题,想也许有人可以帮助我。

所以我在我的 RabbitMQ 服务器上添加了一个集群节点。现在我想连接到我的客户端上的服务器。我希望 MassTransit 连接到第一个可用的服务器,就像 RabbitMQ.Client 一样,您可以传递一个端点数组,它将连接到第一个可用的服务器。

谢谢,佩曼

0 投票
2 回答
749 浏览

msmq - MassTransit MSMQ 远程队列不可访问

我们开发了一个基于 MassTransit 的演示,只要所有进程在同一台服务器上运行,它就可以很好地工作。

然而,当我的接收者想要在另一台机器上订阅自己时,它会挂起一段时间,然后我们收到以下异常:

“System.InvalidOperationException:等待订阅服务响应超时。”

已检查:MSMQ(入站和出站)、网络等的防火墙规则。

可能出了什么问题?

  • 另一台机器上的订阅队列是私有的吗?这是一个问题吗?
  • 我们是否必须以某种特殊方式更改地址格式?msmq://computerName/queueName 不能用于远程连接?

看起来我们忘记了一些小事,因为之前没有人遇到过这个问题......