使用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;
}
在捕获的每个异常类型上断开客户端是否是正确的方法?
这是否也适用于我们取消操作的情况,因此我们可以优先考虑其他操作,我们不想断开连接?
答案 0 :(得分:1)
如果不断开套接字,你还会如何取消正在进行的命令?