问题标签 [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.
c# - MassTransit 实施:有时未收到消息
我正在与一个非常奇怪的问题作斗争......我已经在 WCF 服务之间实现了服务总线通信(通过 MassTransit + MSMQ),在 Windows 7 Ultimate 上使用 .NET 4.0。当服务启动时,一切正常并且它们互相接收消息,但是在给定的点上,它们不再接收它们,直到我手动删除计算机管理中的私有队列 -> 服务和应用程序 -> 消息队列 - > 私人队列。
对于每项服务,我都有一个引导程序,我在其中配置了 MassTransit:
然后服务主类扩展了 MassTransit,这里是一个例子:
正如我所解释的,在给定的点上,不再调用 Accept 方法。唯一的方法是手动删除私有队列并重新启动服务。然后系统再次正常工作,直到下一个麻烦:-(。
任何建议将不胜感激。
非常感谢!亚历山德罗
masstransit - 要“暂停”订阅处理,我应该处置 ServiceBus 还是取消订阅?
我正在尝试想出一个好方法来“暂停”使用 Mass Transit ServiceBus 处理消息。基本上我需要让我的 Windows 服务运行,但暂时停止处理消息。
我只能想到两种方法来做到这一点,使用订阅令牌,或者处置服务总线。
有没有首选的方法,或者我走错了路?
msmq - MassTransit 订阅和接收自己的消息
我正在尝试使用 MassTransit 实现概念验证服务总线。我有三个应用程序需要在彼此之间传达通用实体类型的更改。因此,当用户在一个应用程序中更新实体时,会通知其他两个应用程序。
每个应用程序都使用自己的队列配置如下:
还有一个订阅服务应用配置如下:
问题是当其中一个应用程序发布消息时,所有三个应用程序都会收到它(包括原始发送者)。
有什么方法可以避免这种情况(无需将应用程序名称添加到消息中)?
谢谢,
G
c# - 用ironpython实现泛型父类的嵌套接口
我不想用 IronPython 实现以下 C#/.Net 接口:
这是我到目前为止尝试的python代码:
由此我得到以下异常:
TypeError:TestConsumer:无法从打开的通用实例化 MassTransit.Consumes`1+All[TMessage] 继承。仅支持关闭的实例化。
实现此接口的有效 C# 类定义如下所示:
那么是不是不可能在 IronPython 中实现这种功能呢?还是我做错了?
先感谢您!
c# - Masstransit:无法从 Visual Studio (QueueNotFound) 中运行代码
我正在尝试从 MassTransit 项目运行一些示例代码:
当我现在只是F5
在 Visual Studio 中时,我得到以下异常:
我在管理控制台中检查了 MessageQueues,确实看到队列不存在。但是,如果我运行 TestApp1.exe,一切正常并创建队列。回到 Visual Studio,仍然是同样的错误(但队列现在可用。)
我试过设置队列的安全性(每个人都可以完全访问),但它没有改变。
我究竟做错了什么?为什么我不能从 Visual Studio 中运行它?
编辑
我已经安装RabbitMQ
并更新了代码:
它有效。
问题仍然存在:msmq 有什么问题?我宁愿继续使用它。
structuremap - 使用 StructureMap 扫描外部模块中公开的实现
我正在尝试使用 StructureMap 2.6.4 扫描一个模块文件夹(dll,运行时已知的位置),以查找任何关闭某个接口的模块。在本例中,它是来自 MassTransit 的 Consumes.Context。
我的类,其中可能有许多实现,在模块文件夹中:
我的 StructureMap 扫描仪:
当我查看容器中的对象时,我没有看到我的任何 Consumes<>.Context 实现。我确实在调试文件夹中看到了来自其他 dll 的对象。
但是,如果我将模块的 dll 复制到子目录并像这样扫描:
扫描仪捡起我的物品。
失败:
作品:
为什么将我的 dll 放在子目录中工作而不在父目录中工作?
我应该如何在 Modules 目录中扫描 Consumes.Context 的实现?谢谢!
msmq - 如何使用 MassTransit 和 MSMQ 正确设置发布者-订阅者体系结构?
如何使用 MassTransit 和 MSMQ 正确设置具有多个订阅者(都接收已发布消息)的发布者-订阅者架构。
请注意,我不想使用 MSMQ 多播功能,因为它有点不稳定并且依赖于 PGM(它自身有一些限制)。
我已经阅读了这个、这个和这个,但仍然无法弄清楚我应该如何设置
- 订阅服务,
- 出版商,
- 和几个订阅者。
特别sbc.UseSubscriptionService("uri");
是在许多示例中使用的现在已过时(我使用的是 MassTransit 2.7)。过时的评论说The extension method on UseMsmq should be used instaed
,但我找不到这样的方法。
我们应该如何设置订阅服务?
MassTransit Github 页面上的Distributor示例与我想要的最接近,但它设置了消费订阅者。
请指出或提供一个示例,说明如何设置可能有多个订阅者的发布者-订阅者架构。
谢谢你的时间。
design-patterns - 使用 MSMQ 上的 MassTransit 进行精确一次交付和按顺序交付
在 MSMQ 上使用 MassTransit 可以自动支持精确一次传递(例如,当事件存储发布两次事件时)和按顺序传递(例如,当两个节点同时写入/发布事件时,节点 A 可能存储事件#2,然后节点 B 读取事件 #2,节点 B 存储事件 #3,节点 B 发布事件 #3,节点 A 发布事件 #2 - 典型的竞争条件)?
如果 MassTransit 不支持开箱即用(我目前假设),那么使用 MassTransit/MSMQ 实现这两个要求的最佳/常用方法是什么。
c# - MassTransit 与 RabbitMQ 集群连接问题
我遇到了这个问题,想也许有人可以帮助我。
所以我在我的 RabbitMQ 服务器上添加了一个集群节点。现在我想连接到我的客户端上的服务器。我希望 MassTransit 连接到第一个可用的服务器,就像 RabbitMQ.Client 一样,您可以传递一个端点数组,它将连接到第一个可用的服务器。
谢谢,佩曼
msmq - MassTransit MSMQ 远程队列不可访问
我们开发了一个基于 MassTransit 的演示,只要所有进程在同一台服务器上运行,它就可以很好地工作。
然而,当我的接收者想要在另一台机器上订阅自己时,它会挂起一段时间,然后我们收到以下异常:
“System.InvalidOperationException:等待订阅服务响应超时。”
已检查:MSMQ(入站和出站)、网络等的防火墙规则。
可能出了什么问题?
- 另一台机器上的订阅队列是私有的吗?这是一个问题吗?
- 我们是否必须以某种特殊方式更改地址格式?msmq://computerName/queueName 不能用于远程连接?
看起来我们忘记了一些小事,因为之前没有人遇到过这个问题......