问题标签 [nservicebus4]

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 回答
466 浏览

c# - NServiceBus.Host.exe 超时和日志记录配置 - 可通过 NServiceBusHost.exe.config 进行配置

我对 NServiceBusHost.exe 有疑问。

目前,我正在将 NServiceBusHost.exe 作为 Windows 服务运行,并且收到超时异常,如下所示:

Microsoft 服务跟踪查看器输出:

我正在考虑避免发生此超时异常,应该为 HTTP 运行时延长超时。

有谁知道我认为 .NET 中的 HTTPRuntime 配置执行超时(.NET 4.0 中的默认值为 1:10 分钟)适用于 NServiceBusHost.exe 是否正确?

此外,我相信 NServiceBusHost.exe 是建立在 topshelf 之上的。我认为可以应用 log4net 配置来记录 NServiceBusHost.exe 的任何问题是否正确?

提前致谢。

0 投票
1 回答
94 浏览

nservicebus4 - 在 SLR 重试期间,我在哪里可以找到 NServiceBus 4.1 消息?

我们目前正在实施一个新系统。现在发生了,我的消息内容错误并被连接系统拒绝(我们通过 REST 服务传输数据)。一旦消息在错误队列中,我就可以对其进行编辑并重新排队。但是,虽然 NServiceBus 正在尝试重新发送它(当然每次都会失败),但我似乎无法找到下次更正它的消息。知道 SLR 期间消息“停放”在哪里吗?

0 投票
3 回答
977 浏览

nservicebus - NServiceBus 和 WebSphere mq 配置

我正在尝试将我的 NServiceBus 项目配置为使用 WebSphere mq。我一直在搜索所有其他网络,但没有找到任何最新的示例。根据这篇文章,有一个 dll 公开了用于 WMQ 配置的 API。但是,他们的示例适用于非常旧的 NServiceBus 版本,并且与当前 (4.3.1) 版本不兼容。唯一有一些真实示例的手册是这本手册,它适用于 PubSub,而不适用于简单的客户端服务器配置。谁能告诉我一个最新的例子,描述我应该如何配置我的 NSB 项目以使用 WMQ。

谢谢!

0 投票
1 回答
752 浏览

nservicebus - 从命令处理程序发布 NServiceBus 事件

我正在尝试为 NServiceBus 解决方案实现一个简单的 POC。所以我实现了 3 个端点,我们称它们为 A、B 和 C。A 自托管在控制台应用程序中,B 和 C 是 NSB 主机。在 A 中,我发送一个命令 DoFoo,在 B 中,我正在处理 DoFoo,在处理程序中,我发布了几个 BarOccurred 类型的事件,如下所示:

在 C 中,我通过写入发生 Bar 的控制台来订阅和处理它。

我希望每次 B 发布消息时(即每秒)都会看到在 C 中处理的消息。但是我看到的行为是,只有在命令处理程序退出后(在 5 次迭代后),C 才会收到所有 5 条消息。

这是默认配置的预期行为吗?为了让消息在发布后立即发送和处理,我需要声明什么吗?

0 投票
1 回答
253 浏览

nservicebus - NServiceBus 4 和 DTC

我正在考虑将我们的 NServiceBus 3.3.3 系统升级到版本 4。

我阅读了一些似乎表明版本 4 可以在没有 DTC 的情况下工作的帖子。这是真的?

基本上,这就是我正在考虑做的事情:

  1. 更改我的处理程序以能够处理重复的消息
  2. 升级到 NServiceBus 版本 4
  3. 在我的数据库上关闭 DTC

根据我的阅读,我应该能够做到这一点并且不会丢失任何消息。(我在一家医疗公司工作,丢失消息意味着我们丢失了患者的数据(非常非常糟糕)。)

唯一需要注意的另一件事是,我的系统与分销商一起运行,然后将工作分配给几个工人。通过 put 的消息很大,(我希望删除 DTC 会提高吞吐量)。

作为旁注,如果我从 MSMQ 切换到 RabbitMQ,这会有什么不同吗?

0 投票
1 回答
64 浏览

nservicebus - 发送到另一台机器上的队列期间的 NServiceBus 线路加密

我有一个网络服务:

在通过网络传输到另一台机器上的消息队列的过程中,消息是否加密?

0 投票
1 回答
2216 浏览

c# - 尝试在 Handler(本地 Azure 工作者)中进行 Bus.SendLocal 时,该操作对事务的状态无效

我有下一个代码:

错误信息:操作对于事务的状态无效。

堆栈跟踪:

*在 System.Transactions.TransactionState.EnlistVolatile(InternalTransaction tx, IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction) 在 System.Transactions.Transaction.EnlistVolatile(IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions) 在 NServiceBus.Azure.Transports.WindowsAzureStorageQueues.AzureMessageQueueSender.Send( TransportMessage 消息,地址地址)在 c:\BuildAgent\work\ba77a0c29cee2af1\src\NServiceBus.Azure.Transports.WindowsAzureStorageQueues\AzureMessageQueueSender.cs:NServiceBus.Unicast.UnicastBus.SendMessage 的第 51 行(列表1 addresses, String correlationId, MessageIntentEnum messageIntent, Object[] messages) in :line 0 at NServiceBus.Unicast.UnicastBus.SendMessage(Address address, String correlationId, MessageIntentEnum messageIntent, Object[] messages) in :line 0 at NServiceBus.Unicast.UnicastBus.Send(Address address, Object[] messages) in :line 0 at NServiceBus.Unicast.UnicastBus.SendLocal(Object[] messages) in :line 0 at NServiceBus.Unicast.UnicastBus.SendLocal(Object message) in :line 0 at Amira.Merger.WorkerRole.Handlers.ProcessTPGFilesHandler.SaveToDataBase(TourML tourMLObj) in d:\AmiraProject\SourcesOfAmira-Tour\Amira\Amira.Merger.WorkerRole\Handlers\ProcessTPGFilesHandler.cs:line 161 at Amira.Merger.WorkerRole.Handlers.ProcessTPGFilesHandler.DeserializeAndSaveData() in d:\AmiraProject\SourcesOfAmira-Tour\Amira\Amira.Merger.WorkerRole\Handlers\ProcessTPGFilesHandler.cs:line 139 at Amira.Merger.WorkerRole.Handlers.ProcessTPGFilesHandler.Handle(StartProcessTPGFiles message) in d:\AmiraProject\SourcesOfAmira-Tour\Amira\Amira.Merger.WorkerRole\Handlers\ProcessTPGFilesHandler.cs:line 122 at lambda_method(Closure , Object , Object ) at NServiceBus.Unicast.HandlerInvocationCache.Invoke(Object handler, Object message, Dictionary2 字典)在:NServiceBus.Unicast.HandlerInvocationCache.InvokeHandle(对象处理程序,对象消息)的第 0 行中:NServiceBus.Pipeline.Behaviors.LoadedMessageHandlers.b_ 的第 0 行中2(对象 handlerInstance,对象消息)在:NServiceBus 的第 0 行.Pipeline.Behaviors.InvokeHandlersBehavior.DispatchMessageToHandlersBasedOnType(IBuilder builder, LogicalMessage toHandle, LoadedMessageHandlers loadedHandlers, BehaviorContext context) in :line 0 at NServiceBus.Pipeline.Behaviors.InvokeHandlersBehavior.Invoke(BehaviorContext context, Action next) in :line 0 at NServiceBus.Pipeline .BehaviorChain.InvokeNext(BehaviorContext context) in :line 0 at NServiceBus.Pipeline.BehaviorChain.<>c _DisplayClass1.b_0() in :line 0 at NServiceBus.Sagas.SagaPersistenceBehavior.Invoke(BehaviorContext context, Action next) in :line 0 at NServiceBus.Pipeline.BehaviorChain.InvokeNext(BehaviorContext context) in :line 0 at NServiceBus.Pipeline.BehaviorChain。< >c _DisplayClass1.b_ 0() in :line 0 at NServiceBus.Pipeline.Behaviors.LoadHandlersBehavior.Invoke(BehaviorContext context, Action next) in :line 0 at NServiceBus.Pipeline.BehaviorChain.InvokeNext(BehaviorContext context) in :line 0 at NServiceBus.Pipeline.BehaviorChain.<>c _DisplayClass1.b_0() in :line 0 at NServiceBus.Pipeline.Behaviors.CallbackInvocationBehavior.Invoke(BehaviorContext context, Action next) in :line 0 at NServiceBus.Pipeline.BehaviorChain.InvokeNext(BehaviorContext context) in :line 0 at NServiceBus.Pipeline.BehaviorChain .<>c _DisplayClass1.b_ 0() in :line 0 at NServiceBus.Pipeline.Behaviors.ApplyIncomingMessageMutatorsBehavior.Invoke(BehaviorContext context, Action next) in :line 0 at NServiceBus.Pipeline.BehaviorChain.InvokeNext(BehaviorContext context) in :line 0 在 NServiceBus.Pipeline.BehaviorChain.<>c _DisplayClass1.b_0() in :line 0 at NServiceBus.Pipeline.Behaviors.ExtractLogicalMessagesBehavior.Invoke(BehaviorContext context, Action next) in :line 0 at NServiceBus.Pipeline.BehaviorChain.InvokeNext(BehaviorContext context) in :line 0 at NServiceBus.Pipeline.BehaviorChain .<>c _DisplayClass1.b_ 0() in :line 0 at NServiceBus.Pipeline.Behaviors.RaiseMessageReceivedBehavior.Invoke(BehaviorContext context, Action next) in :line 0 at NServiceBus.Pipeline.BehaviorChain.InvokeNext(BehaviorContext context) in :line 0 在 NServiceBus.Pipeline.BehaviorChain.<>c _DisplayClass1.b_0() in :line 0 at NServiceBus.Pipeline.Behaviors.ApplyIncomingTransportMessageMutatorsBehavior.Invoke(BehaviorContext context, Action next) in :line 0 at NServiceBus.Pipeline.BehaviorChain.InvokeNext(BehaviorContext context) in :line 0 at NServiceBus.Pipeline.BehaviorChain .<>c _DisplayClass1.b__0() in :line 0 at NServiceBus.UnitOfWork.UnitOfWorkBehavior.Invoke(BehaviorContext context, Action next) in :line 0*

有人可以帮我弄这个吗?谢谢

0 投票
2 回答
370 浏览

azure - 在处理程序中创建具有不同传输协议的 nservicebus iBus 实例。MSMQ 到 Azure

我们有一个从 MSMQ 运行的现有服务总线,它消耗一个需要将命令发布到 Azure 上运行的总线的事件。

我们将 azure 暴露给外部世界,并为内部消息保留 msmq。

我尝试新建一个仅发送总线的实例来完成此操作,但没有运气,将不胜感激一些指针/代码示例。


编辑

我还没有找到这个问题的答案,到目前为止,我的解决方法是设置一个 web api,它托管运行 Azure 作为传输协议的 nservicebus。所以我的 MSMQ 消费者将调用 api,该 api 将向我们的 Azure 总线发送命令。不理想……一点也不,但这是我能想到的。


编辑2

创建了与网关配置略有不同但相关的问题: Nservicebus msmq to azure queue using gateway

0 投票
1 回答
252 浏览

nservicebus - 自动订阅不起作用

尝试从 nservicebus 开始。我的意图是至少获取端点尝试订阅的日志消息。所以我为像这样的消息创建了消息处理程序

并且合约 OrderAccepted 定义为

根据 NServiceBus 文档,修改订阅者 .config 文件就足够了

但是,当我启动订阅者主机NServiceBus.Host.exe时,我没有收到它正在尝试订阅的日志消息,busstop.backend 队列中也没有订阅请求消息。

谢谢。

0 投票
1 回答
1765 浏览

nservicebus - 安装 NServiceBus 性能计数器失败

我正在使用 Powershell cmdlet 安装 NSB 基础架构。我尝试了一些测试虚拟机,它似乎工作正常。但是,在生产中,在 Windows 2008 R2 机器上出现以下错误

我试图做 lodctr /R 但它没有帮助。

我还发现可以通过这个命令删除类别

[Diagnostics.PerformanceCounterCategory]::Delete("NServiceBus")

当我转到 Powershell 窗口时,它确实有效,发出此命令并执行 Install-NServiceBusPerformanceCounters,然后它就有效了。如果我重复发出 Install-NServiceBusPerformanceCounters,它表示性能计数器已经存在,所以一切都很好。NSB.Host.exe 也可以正常启动。

但是,当我运行我的 msi 时,从调用 Powershell 脚本的位置返回错误。