问题标签 [nservicebus3]
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.
nservicebus - 为什么选择 NServiceBus ForwardRecievedMessagesTo 以及使用它对性能有何影响?
ForwardRecievedMessagesTo 的预期用途是什么?
我读了一些支持审计的地方。将其用作解决方案以确保消息已被处理并且如果不重新处理它们是否有任何危害?假设一条消息被发送到 queue_A@server_A 并转发到 q_All@server_All 并且在处理消息之前,machine_A 不可恢复地死了。在这种情况下,我可以让处理程序从 q_All@sever_All 中提取消息,并检查数据库表是否已处理该消息。如果不重新处理(发布或发送)消息或将其保存在数据库表中。
另外,使用 forwardreceivedmessageto 对性能有何影响?它与日记有什么不同?
是的,我试图不使用 msmq 集群。
nservicebus - NServiceBus V3 如何在 WPF 应用程序中配置端点
尝试配置总线实例时出现以下错误。
无法生成端点名称,请使用 Configure.DefineEndpointName(...) 指定您自己的约定
嗯,所以我需要告诉总线端点消息映射。我通常使用 app.config 来指定这一点,它适用于我的 WPF 应用程序(我不是 WPF 专家)。
看来 app.config 没有在我的 WPF 应用程序中被读取或出现问题...我的启动代码看起来像这样(在 winforms 或控制台应用程序中运行良好)
有什么建议么...
最终,我希望将消息发送到集中存储的端点映射,以便所有桌面应用程序都可以在启动时读取它,即。所有客户端都可以访问的中央数据库。如何以这种方式配置总线的示例将不胜感激。
nservicebus - NserviceBus(3.2版)自定义配置
新手在这里需要帮助。
我一直在查看自定义配置文档。但是,我无法弄清楚缺少什么,或者我是否走在正确的道路上。我正在尝试使用 IWantCustomInitialization 进行自定义配置以动态创建消息队列(而不是 App.Config)并将消息发送到消息队列。
消息类如下:-
测试应用程序如下:-
而且,App.config 如下:-
我遇到以下错误:-
对于像我这样的新手来说,任何指针、建议和评论都非常受欢迎。先感谢您。
nservicebus - NServiceBus endpoints looking for RavenDB for timeouts after upgrading 3.0.3 -> 3.2.2
Using NuGet I upgraded all the NServiceBus references in a project from 3.0.3 to 3.2.2 For the 4 services in this solution I also gave them references to NServiceBus.Host from NuGet
I deployed the binaries to a test environment, and the services now startup but then fail after some time with the error below. Is there some additional configuration required in 3.2?
Unhandled Exception: Magnum.StateMachine.StateMachineException: Exception occurr ed in Topshelf.Internal.ServiceController`1[[NServiceBus.Hosting.Windows.Windows Host, NServiceBus.Host, Version=3.2.0.0, Culture=neutral, PublicKeyToken=9fc3864 79f8a226c]] during state Initial while handling OnStart ---> System.Exception: E xception when starting endpoint, error has been logged. Reason: An exception was thrown while invoking the constructor 'Void .ctor(Raven.Client.IDocumentStore)' on type 'RavenTimeoutPersistence'. ---> Autofac.Core.DependencyResolutionExcept ion: An exception was thrown while invoking the constructor 'Void .ctor(Raven.Cl ient.IDocumentStore)' on type 'RavenTimeoutPersistence'. ---> System.Net.WebExce ption: Unable to connect to the remote server ---> System.Net.Sockets.SocketExce ption: No connection could be made because the target machine actively refused i t
nhibernate - NServiceBus 3.2 和子容器
我有 NServiceBus (3.2.2) 设置,使用 Castle Windsor 作为它的构建器,我也在使用 NHibernate。我遇到的问题是,在我的处理程序中,如果我有多个需要 NHibernate 会话的存储库,它们最终会得到不同的会话!
NServiceBus 文档指出容器内的任何瞬态实例都将被视为单例实例。我的 NHibernate 会话也包含在一个工作抽象单元中。
下面是使用 NHibernate 设置 NServiceBus 的代码:
UnitOfWorkInstaller
有点像:
因此,当需要 NHibernate 会话时,它会使用UnitOfWorkFactory
. 我尝试将 'current_session_context_class' 属性放在 NHibernate 配置中的 'thread_static' 中,但它不起作用。
为什么我的 NServiceBus 处理程序中有不同的工作单元?
nservicebus - NServiceBus 3.2 - NServiceBus.Timeout.Core.TimeoutRunner.CacheExistingTimeouts() 的 NullReferenceException
非常感谢 Andreas 帮助我之前的 NSB 3.2 问题 (http://stackoverflow.com/questions/10904857/nservicebus-endpoints-looking-for-ravenb-for-timeouts-after-upgrading-3-0-3 )。实施该更改后,我现在在每个服务启动期间都有一个致命异常。
每个服务(在实现 IWantCustomInitialisation 的类中)配置如下;
这是在启动期间的日志中:
c# - NSeviceBus - 端点断开连接时的性能下降
我正在研究使用 NServiceBus 在中央服务器和许多远程 PC 之间进行容错通信。
我在最新 (3.2) 版本中运行 GateWay 示例,一切正常 - 使用试用商业许可证,性能似乎很棒,发送到 3 台远程 PC。但是 - 为了测试容错能力,如果我断开其中一台 PC,我注意到虽然其他站点继续从服务器接收消息,但性能受到很大影响 - 站点可能等待长达 30 秒才能收到消息 -大概是因为服务器正忙于处理断开连接的站点的重试。
对此有简单的配置类型答案吗?
nservicebus - NServiceBus 与 Windows ServiceBus
有人能够阐明新发布的 Windows ServiceBus(内部部署,而不是 Azure)和 NServiceBus 之间的区别吗?
寻找 Windows SB 可能缺少的详细答案,因为我熟悉 NSERviceBus 可以做什么:
- 它是真正的服务总线,而不仅仅是使用队列的消息代理吗?
- 能支持消息多态吗?(消息子类化其他消息和支持此层次结构的处理程序
- 长时间运行的进程和相关性
- 向外扩展
nservicebus - NServiceBus - 扩展订阅者在 master 和 worker 之间重复事件
我的核心问题是如何在 NServiceBus 中扩展订阅者。请让我知道我做错了什么或我错过了什么。我很乐意回答有关我的设置的任何问题。
设想:
我在尝试扩展订户时看到了我希望的不正确行为。我在机器 01 上安装了 master,在机器 02 上安装了 worker。我卸载了这两个服务并重新安装了“NServiceBus.Production NServiceBus.Master”作为 master 的命令行,但使用 NServiceBus.Worker 作为 worker 的命令行. 两个服务都运行良好,有两个线程可用。我在关闭服务的情况下运行场景的第一部分,队列计数如下面的第一个列表所示。注意到 Master 和 Worker 中的 816 条消息了吗?我以为使用 Production 命令行安装会导致两个服务共享相同的订阅信息,并且只有 master 会收到订阅的事件,但我错了。
第二组队列计数是启动两个服务并让它们完成处理的结果。请注意 02 上的工作人员服务如何处理他原来的 816 以及分销商给他的任何东西?
此处未列出主服务器的网关、重试和超时队列以及工作人员的重试和超时队列,因为在运行服务之前和之后,队列和日志的值均为 0
// 服务关闭* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ***
格式名称:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.distributor.control
格式名称:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.worker
格式名称:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.distributor.storage
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor
FormatName:DIRECT=OS:vm-02\private$\creditalertnotificationprocessor
// 服务开启(并完成)* ** * ** * ** * ** * ** * ** * ** * ** * ** * ****
格式名称:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.distributor.control
格式名称:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.worker
格式名称:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor.distributor.storage
FormatName:DIRECT=OS:vm-01\private$\creditalertnotificationprocessor
FormatName:DIRECT=OS:vm-02\private$\creditalertnotificationprocessor
工人配置文件...
dependency-injection - 使用 NServiceBus DI 配置装饰器
如何配置 NServiceBus 以正确注入装饰类?
想象一下这个场景:
我想设置我的配置,以便B
使用C
注入创建,然后A
使用注入创建B
。我不想A
用C
注入创建。
如何设置配置以使其执行此操作?感觉我应该使用以下内容:
但我不确定我如何引用这些实例?以及如何确保C
仅用于B
' 的属性,并且B
在容器进行解析时在其他任何地方使用?
还是我需要做一些不同的事情?