我尝试查看 GetRetryAttempt()、GetRetryCount() 和 GetRedeliveryCount(),但这些每次都返回零。
在照片中,根据我拨打的电话,我假设我会得到 3 或 4。我还尝试在标头中查找 MT-Fault-RetryCount,这返回 null。看起来 MassTransit 都在内存中,但消息确实可以访问正确的数字,它只是不是 MassTransit ReceiveContext 对象的一部分 - 即使我在那里看到它!
我找到了一种投射 MassTransit 消息的方法:
var rmessage = (MassTransit.AzureServiceBusTransport.ServiceBusReceiveContext)context.ReceiveContext;
int cnt = rmessage.DeliveryCount;
这似乎有效。