问题标签 [nservicebus5]

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

nservicebus - 在 NServiceBus 5 中获取 EndPointName

我正在将我的应用程序从 NServiceBus 4 升级到 5。

我有一个实现的类,IWantToRunWhenBusStartsAndStops并且在Start()我打印出 EndpointName 的方法上 - 从NServiceBus.Configure.EndpointName

在 NServiceBus 5 上它已被弃用,我想正确地做到这一点。如何获取 EndpointName?

0 投票
2 回答
1230 浏览

c# - NServiceBus Test.Initialize() 给定键不存在

更新只是更详细地阅读了谷歌组,显然这是一个应用程序配置问题。尝试后会更新帖子。

我想知道在尝试对 NServiceBus 进行单元测试时是否有人知道这个问题。

意识到我在下面有两个初始化方法,但这是为了说明我正在尝试做的事情。基于请求的堆栈跟踪。

(NServiceBus.LocalAddress) 不在字典中。(NServiceBus.LocalAddress) 不在字典中。

我认为堆栈跟踪的其他部分是抱怨 InMemoryPersistence 的红鲱鱼。但是,也有一个 Google 小组也在讨论这个问题,他们遇到了同样的问题,这让我认为这更像是 NServiceBus 问题而不是编码错误。

谷歌群组链接https://groups.google.com/forum/m/#!topic/particularsoftware/424_6KCv6oI

应该提到看过这些帖子。

https://github.com/Particular/NServiceBus.Testing/issues/20 https://github.com/Particular/NServiceBus.Testing/commit/f761c5391b03b05d967f2e368248c72522051d59

0 投票
1 回答
505 浏览

ravendb - NServiceBus 的 RavenDb 许可证

我在我的应用程序中使用 NServiceBus,因为 NServiceBus 5 RavenDb 不是默认的持久性,并且没有与 NServiceBus 一起安装。所以我下载了 RavenDB-Build-2952 并在安装时安装了 Development 选项。

当我尝试运行我的项目(仍然使用 NServiceBus 4)时,我收到一个错误,即 RavenDb 的许可证对 Windows 身份验证无效。我的 NServiceBus 代码中没有关于 RavenDb 持久性的特殊配置。

如何确保 RaveDb 安装使用 NServiceBus 许可证?

0 投票
1 回答
1132 浏览

nservicebus - Nservicebus 在 web.config 中禁用默认记录器

我正在为 Nservicebus v5 使用 DefaultFactory LogManager。我对此很满意,但希望能够通过 web.config 禁用。

我使用了帮助文档中的 web.config 设置

我不想将阈值设置为致命的。我希望一个“无”或禁用=“真”

目录路径也可以设置web.config吗?

更新:为什么我们要忽略错误?

简而言之,我们在服务器上并没有真正的写权限。

长久以来,这不是 100% 正确的。我们的系统正在向微服务发展,问题在于分散式日志记录是跟踪/可视化的噩梦。因此,我们将流跟踪、异常和有限跟踪移至集中式系统。

编程入口点(又名消息处理程序、Web API 端点等)几乎总是包含在每个处理程序上的 try catch 日志抛出中,这涵盖了我们所有的编程错误。这和平常没什么不同。集中记录位置集合了人们可能想要的所有漂亮的红色闪烁实时警报。

只留下配置类型错误,如缺少队列、错误的程序集绑定、错误的配置文件,或者更多运行时风格的东西,如 IoC 布线(在处理程序代码之外)。通过对错误任务的集中日志记录和监控,很容易检测到服务何时中断,如果是,我们打开日志记录,重新启动,尝试错误问题并修复。一旦再次启动,保证交付将处理其他所有事情:D 150mb 日志文件分布在 10 个不同服务器上的日子已经一去不复返了。

DefaultFactory 的简单性很好,因为不需要另一个 nuget 包和相关配置。

这是正确的前进方式吗。许多人会争辩说不。我们能做得更好吗?是的,我们可以实现通用的记录器接口并将其传递给 NServiceBus,但我们还没有安静下来,胜利并不是关键的 atm。

附注:关于我们记录方式的一个非常好的事情是,在我们的后台工具中,我们能够简单地显示每个“订单”的流程,类似于在 graylog 中使用相关 ID。

0 投票
1 回答
6725 浏览

c# - nservicebus 严重错误异常代码:0x80131623

启动 NServicebus.Host.exe 时出现以下错误

运行时遇到致命错误。错误地址位于线程 0x2094 上的 0x9124e4c7。错误代码为 0x80131623。此错误可能是 CLR 中的错​​误或用户代码的不安全或不可验证部分中的错误。此错误的常见来源包括 COM 互操作或 PInvoke 的用户封送错误,这可能会损坏堆栈。

当我通过 Visual Studio 或直接通过命令提示符启动项目时,我得到了这个,并且很难排除它崩溃的原因 - 建议将不胜感激。

0 投票
1 回答
277 浏览

nservicebus - 无法使用 SqlServerTransport 安装 NServiceBus ServiceControl

我正在尝试使用 SqlServerTransport 安装 NServiceBus ServiceControl。

我编写了一个概念验证消息应用程序,使用

  • NServiceBus 版本="5.0.0"
  • NServiceBus.SqlServer 版本="2.1.1"

现在想看看 ServicePulse 是如何工作的,这需要 ServiceControl。

我已阅读 http://docs.particular.net/servicecontrol/multi-transport-support上的说明

仅应使用针对 NServiceBus V4 的传输 DLL。

这是否意味着 ServiceControl 不能与 NServiceBus V5 一起使用?

我尝试使用 NServiceBus.SqlServer version="2.1.1" 安装 ServiceControl

我跑了以下

但我得到了错误

我们找不到您选择的传输的 IConfigureTransport 实现

有没有人使用 SQL 传输的 V5 版本成功运行 ServiceControl?

0 投票
1 回答
333 浏览

c# - NServiceBus 从 V4 更新到 V5,Configure.Instance

我们正在从 V4 更新到 V5。在 V4 中,我们使用了 configure 实例,但现在还不行。这是我的代码

有没有人知道如何在 NServiceBus 中获取配置实例

0 投票
2 回答
450 浏览

nhibernate - NServiceBus v5 断路器

我们最近将 NServiceBus 项目从版本 4 升级到版本 5。我们使用 NHibernate 将数据存储到 SQL 服务器数据库。自升级以来,我们开始遇到连接超时和 TimeoutEntity 表的错误。NServiceBus 服务运行良好一段时间 - 至少几个小时,然后它们停止。

在调查其原因时,似乎是对 TimeoutEntity 表的轮询查询 - 查询每分钟完成一次,如果查询需要超过 2 秒才能完成,则会引发错误并调用 CriticalError.Raise - 这会导致NServiceBus 停止服务。

一种调查方法是找出超时的原因,但我们也想知道为什么更改此功能 - 在 NServiceBus 的先前版本中,调用 Logger.Warn 而不是 CriticalError.Raise。有人知道为什么在 NServiceBus 5 中进行了这种更改,以及我们可以做些什么来缓解它吗?

0 投票
1 回答
685 浏览

nservicebus - 没有 DTC 参与的 NServiceBus 5?

我正在阅读文档,以下内容让我感到困惑,因为它在文档顶部说明版本 5 我们无需使用 DTC 即可获得可靠性。

这些功能已使用发件箱模式和重复数据删除模式实现。当一条消息出队时,我们检查我们之前是否处理过它。如果是这样,我们将在发件箱中为该消息传递任何消息,但不再调用消息处理逻辑。如果消息之前没有被处理,那么我们调用常规处理程序逻辑,将所有传出消息存储在持久存储中,与用户自己的数据库更改在同一事务中。最后,我们发送所有传出消息并更新重复数据删除存储。

我确定这可能是由于我缺乏理解,但 NServiceBus 正在打开它自己的连接和事务与消息处理程序(例如;调用存储库以进行保存)数据库连接分开的事实不会将事务升级为完整的 2PC 使用 DTC?

这是文档:

http://docs.particular.net/nservicebus/outbox/

谢谢!

0 投票
2 回答
745 浏览

nservicebus - NServiceBus SqlTransport - 无法解析用于发送的消息类型

更新 我发现了问题。我没有从 ICommand 继承,所以我添加了约定,但是现在我收到以下异常:

找不到目标队列“报销”。您可能在配置文件的 UnicastBusConfig 部分的 MessageEndpointMappings 中错误地配置了此类消息的目的地(Reimbursement.Messages.Commands.RequestForReimbursementCommand、Reimbursement.Messages、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null)。也可能是给定队列尚未创建或已被删除。

我正在使用 SqlTransport 为我们公司评估 NServiceBus,但遇到了配置问题。

这是我的发件人的 app.config:

当我发送命令时,我收到以下异常:

找不到消息类型 Reimbursement.Messages.Commands.RequestForReimbursementCommand 的目的地。检查此端点的配置部分以获取此特定消息类型或其程序集的条目。

发件人引用了 Reimbursement.Messages 程序集,所以我不确定它为什么无法解决这个问题。

任何帮助都会很棒!