【发布时间】:2017-12-04 17:31:45
【问题描述】:
我正在尝试将几条消息批量发送到服务总线队列。我正在使用QueueClient 的SendBatch 方法来做到这一点。
在此操作期间我收到了FaultException:
使用不同的 SessionId、PartitionKey 或 具有分区的实体不支持 MessageId,并且 已启用重复检测。
异常的消息是不言自明的,我会尝试修复它,但有时它会起作用,不会引发异常。
所以有时它会抛出异常,有时它会起作用。我不更改队列的任何设置,也不更改代码。
任何想法为什么会发生?
【问题讨论】:
-
难不成当它成功时,实际上整批都属于同一个会话?
-
你可以确认当它工作时,它是实体/消息的相同状态?您是否在传入消息的上下文中发送(“send-via”)?
-
@Mikhail 我们没有显式使用 session,因为我们缓存和重用 QueueClient 可以隐式使用吗?
-
@SeanFeldman 不确定您所说的相同状态是什么意思,但我们发送的消息仅在特定于域的值上有所不同,我们不会为
messageid或partitionkey或 @987654328 分配任何值@。而且,不,我们不是在传入消息的上下文中发送。 -
@AlexSikilinda 好的...但是您的队列是否已分区并且是否启用了重复检测?
标签: c# .net azureservicebus servicebus azure-servicebus-queues