问题标签 [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.
c# - NServicebus 4.7.6 不尊重 app.config 上的 SecondLevelRetriesConfig 值
代码中没有自定义配置。
它基于默认的 SecondLevelRetriesConfig 值而不采用自定义配置。
更新:
很抱歉没有更新场景。当 nservicebus worker 为 MasternodeConfig 进行配置时,就会发生这种情况。它不考虑二级重试的工作节点配置。超时在 MasterNode (Distributor) 中处理。
c# - 第一次将消息发送到错误队列
使用 NServiceBus 4.3 我想在某些情况出现时向错误队列发送消息。
场景是,当我收到一条消息时,我检查这条消息是否指的是我们数据库中的 1 个或多个项目。如果有多个引用,我会抛出一个AmbiguousItemException
并抓住它。我需要给负责给我正确信息的人发电子邮件。所有这些都已弄清楚,但我不希望再次尝试此消息。相反,我宁愿将它移到错误队列中,这样当我们取回我们需要的信息时,我们可以添加可空属性并将消息放回队列中进行处理。我试过使用_bus.ForwardCurrentMessageTo("error")
, _bus.Send("error", message)
, _bus.SendLocal(message)
. 最后一个基本上将消息置于无限循环中。代码有点像这样。
以及调用它的代码
powershell - 在 Powershell 中安装 NServicebus 服务时捕获错误
因此,我有一个 powershell 脚本来将 NServiceBus 服务安装为 Windows 服务。
为了完整起见,我已经尝试了Invoke-Expression
和Start-Process
:
它可以很好地启动安装程序,在某些情况下会报告异常例如:
我对此很满意。我期待例外。但是,该过程本身并没有表明它失败了。实际上,Powershell 脚本本身已成功完成。
我可以解析输出文本以获取错误代码或一些“异常”文本,但这似乎令人遗憾地不能令人满意。
我认为这不是 Powershell 问题。当我简单地通过命令行运行它并检查时,%errorlevel%
我得到0
. 此外,其他几个执行相同操作的示例在线脚本也省略了任何错误传播。
有什么建议么?
.net - NServiceBus - 无法加载文件或程序集“”或其依赖项之一
我正在使用一个使用 NServiceBus (v4.7.0) 队列中的消息的 .Net Web 应用程序。我收到以下异常:
2019-02-20 15:35:13,624 [28] 错误 NServiceBus.Unicast.Transport.TransportReceiver [(null)] - [(null)] - 无法反序列化 ID 为 0942d9eb-126e-4af6-b860-a9f400a3be82 系统的消息.Runtime.Serialization.SerializationException:尝试从传输消息 NServiceBus.TransportMessage ---> System.IO.FileLoadException 提取逻辑消息时发生错误:无法加载文件或程序集'xpto.Contracts,版本 = 1.0.0.0,文化=neutral, PublicKeyToken=6a17a7d57c13b3cf' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)---> System.IO.FileLoadException:定位的程序集的清单定义与程序集引用不匹配。(HRESULT 的例外情况:
在 System.RuntimeTypeHandle.GetTypeByName(字符串名称,布尔 throwOnError,布尔 ignoreCase,布尔反射仅,StackCrawlMarkHandle stackMark,IntPtr pPrivHostBinder,布尔 loadTypeFromPartialName,ObjectHandleOnStack 类型)在 System.RuntimeTypeHandle.GetTypeByName(字符串名称,布尔 throwOnError,布尔 ignoreCase,布尔反射, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectOnly, StackCrawlMark& stackMark) 在 System.Type.GetType(String typeName, Boolean throwOnError) 在 NServiceBus.Unicast.Messages c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus 中的 .MessageMetadataRegistry.GetMessageMetadata(String messageTypeIdentifier)。Core\Unicast\Messages\MessageMetadataRegistry.cs:C:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Messages\ExtractLogicalMessagesBehavior.cs 中 NServiceBus.Unicast.Messages.ExtractLogicalMessagesBehavior.Extract(TransportMessage physicalMessage) 的第 52 行: C:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Messages\ExtractLogicalMessagesBehavior.cs:line 52 中 NServiceBus.Unicast.Messages.ExtractLogicalMessagesBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) 的第 75 行 --- 结束内部异常堆栈跟踪 --- 在 C:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Messages\ExtractLogicalMessagesBehavior.cs 中的 NServiceBus.Unicast.Messages.ExtractLogicalMessagesBehavior.Invoke(ReceivePhysicalMessageContext context, Action next):NServiceBus.Pipeline.BehaviorChain 的第 56 行1.Invoke() in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline\BehaviorChain.cs:line 35 at NServiceBus.Sagas.RemoveIncomingHeadersBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Sagas\RemoveIncomingHeadersBehavior.cs:line 23 at NServiceBus.Pipeline.BehaviorChain
1.Invoke() in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline\BehaviorChain.cs:第 35 行 NServiceBus.Unicast.Behaviors.RaiseMessageReceivedBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) in c:\ BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Behaviors\RaiseMessageReceivedBehavior.cs:第 18 行在 NServiceBus.Pipeline.BehaviorChain1.Invoke() in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline\BehaviorChain.cs:line 35 at NServiceBus.MessageMutator.ApplyIncomingTransportMessageMutatorsBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\MessageMutator\ApplyIncomingTransportMessageMutatorsBehavior.cs:line 22 at NServiceBus.Pipeline.BehaviorChain
1.Invoke() 在 c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline \BehaviorChain.cs:第 35 行 NServiceBus.UnitOfWork.UnitOfWorkBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) 在 c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\UnitOfWork\UnitOfWorkBehavior.cs:第 34 行 NServiceBus.Pipeline .行为链1.Invoke() in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline\BehaviorChain.cs:line 35 at NServiceBus.Unicast.Behaviors.ForwardBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Behaviors\ForwardBehavior.cs:line 24 at NServiceBus.Pipeline.BehaviorChain
1.Invoke() 在 c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline\BehaviorChain.cs:第 35 行 NServiceBus.Audit.AuditBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) in c:\BuildAgent\ work\1b05a2fea6e4cd32\src\NServiceBus.Core\Audit\AuditBehavior.cs:第 17 行 NServiceBus.Pipeline.BehaviorChain1.Invoke() in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline\BehaviorChain.cs:line 35 at NServiceBus.Unicast.Behaviors.ImpersonateSenderBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Behaviors\ImpersonateSenderBehavior.cs:line 37 at NServiceBus.Pipeline.BehaviorChain
1.Invoke() in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline\BehaviorChain.cs :NServiceBus.Unicast.Behaviors.MessageHandlingLoggingBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Behaviors\MessageHandlingLoggingBehavior.cs 的第 35 行:NServiceBus.Pipeline 的第 21 行.行为链1.Invoke() in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline\BehaviorChain.cs:line 35 at NServiceBus.Unicast.Behaviors.ChildContainerBehavior.Invoke(ReceivePhysicalMessageContext context, Action next) in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Behaviors\ChildContainerBehavior.cs:line 17 at NServiceBus.Pipeline.BehaviorChain
1.Invoke() in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Pipeline\BehaviorChain.cs: 第 35 行 NServiceBus.Pipeline.PipelineExecutor.InvokeReceivePhysicalMessagePipeline() 在 c:\BuildAgent\work\1b05a2fea6e4cd32\src \NServiceBus.Core\Pipeline\PipelineExecutor.cs:C:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\UnicastBus.cs 中 NServiceBus.Unicast.UnicastBus.TransportMessageReceived(Object sender, TransportMessageReceivedEventArgs e) 的第 44 行: C:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Transport\TransportReceiver.cs 中 NServiceBus.Unicast.Transport.TransportReceiver.OnTransportMessageReceived(TransportMessage msg) 的第 1099 行:NServiceBus.Unicast.Transport.TransportReceiver 的第 439 行c中的.ProcessMessage(TransportMessage消息):\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Transport\TransportReceiver.cs:356 行
有趣的是,我更改了“xpto.Contracts”签名,它不再具有 PublicKeyToken=6a17a7d57c13b3cf',找不到对该密钥令牌的任何引用。这是从哪里来的?
nservicebus - 如何使用 AzureStorageQueueTransport 和具有私有访问级别的 Azure 存储帐户配置 NserviceBus
我们将 NserviceBus 与 AzureStorageQueueTransport 和具有公共访问权限的存储帐户一起使用,但现在我们必须使用具有私有访问级别的 Azure 存储帐户。
- 有没有办法在创建端点和发送、发布、接收消息时创建 SAS 令牌和追加。
- NServiceBus 是否对这种要求提供任何支持。