C# 在azure QueueClient上调用close()是否可以正常停止消息泵?

C# 在azure QueueClient上调用close()是否可以正常停止消息泵?,c#,azure,azureservicebus,C#,Azure,Azureservicebus,使用队列客户端创建工作人员角色时的模板代码提供了消息泵实现。代码中有一条注释,说明: // Initiates the message pump and callback is invoked for each message that is received, calling close on the client will stop the pump. sourceClient.OnMessage(received => { //blah blah implementation

使用队列客户端创建工作人员角色时的模板代码提供了消息泵实现。代码中有一条注释,说明:

// Initiates the message pump and callback is invoked for each message that is received, calling close on the client will stop the pump.
sourceClient.OnMessage(received =>
{
    //blah blah implementation
});
在sourceClient上调用close时实际会发生什么?当前正在处理的邮件是否继续?也就是说,这是信息泵的正常关闭吗?或者调用close会影响消息泵当前正在处理的消息吗

文档会让我相信是这样的,但有一个未解决的反馈项,这意味着信息泵没有优雅的关闭机制:


那么souceClient.close实际上做什么呢?

在完整框架客户端WindowsAzure.ServiceBus QueueClient不会正常停止消息泵。飞行中未完成的邮件的传递计数将增加

那么souceClient.close实际上做什么呢


该客户机是一个封闭源代码项目。最好的猜测是为它提出一个问题。

这样它们就会在超时后重新出现在消息队列上?它们不会丢失?信息永远不会丢失。它们将被重试,除非超过最大传递计数,然后邮件将被移动到死信队列。好的,谢谢。因此,优雅关闭的真正问题是消息被多次处理,或者部分处理后再处理,而不是丢失。