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

Does calling close() on azure QueueClient stop the message pump gracefully?

使用队列客户端创建工作者角色时的模板代码提供了消息泵实现。该代码中有一条评论说:

// 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() 时实际发生了什么?当前正在处理的消息是否继续? IE。这是消息泵的正常关闭吗?或者调用 close 会影响消息泵当前正在处理的消息吗?

文档会让我相信它是,但有一个未完成的反馈项目暗示消息泵没有正常关闭机制:https://feedback.azure.com/forums/216926-service-bus/suggestions/4345733-provide-gracefull-shutdown-feature-to-message-pump

那么 souceClient.close() 到底做了什么?

在完整框架客户端 (WindowsAzure.ServiceBus) QueueClient 中不会优雅地停止消息泵。未完成的正在发送的消息将增加其传递计数。

So what does souceClient.close() actually do?

该客户端是一个闭源项目。最好的猜测是为它提出一个问题 here.