取消Fetch会导致客户端断开连接

时间:2017-11-28 09:03:04

标签: mailkit

使用cancellationToken取消IMailFolder.Fetch方法时,出现客户端断开连接的异常。

我调试了MailKit并将问题跟踪到ImapEngine.Iterate()方法,其中包含以下内容:

try {
            while (current.Step ()) {
                // more literal data to send...
            }

            if (current.Bye)
                Disconnect ();
        } catch {
            Disconnect ();
            throw;
        } finally {
            current = null;
        }

在捕获的每个异常类型上断开客户端是否是正确的方法?

这是否也适用于我们取消操作的情况,因此我们可以优先考虑其他操作,我们不想断开连接?

1 个答案:

答案 0 :(得分:1)

如果不断开套接字,你还会如何取消正在进行的命令?