我用MailKit有点累了,但是如果尝试在没有互联网连接的情况下连接ImapClient.ConnectAsync(...) (插头/插头),那么ConnectAsync就会冻结。
我正在尝试下面的示例- ImapIdleExample:https://github.com/jstedfast/MailKit/blob/master/Documentation/Examples/ImapIdleExample.cs
在第103行async Task WaitForNewMessagesAsync ()中,我在9分钟内断开了互联网连接,9分钟后我得到了一个IOException (总是导致客户端断开连接)。
在第64行中,the client is not connected client.IsConnected为false,则执行以下行,第67行await client.ConnectAsync (host, port, sslOptions, cancel.Token)
就是这样,没有更多的事情发生。另外,当我重新连接到互联网时,ConnectAsync仍然处于冻结状态。
我正在连接端口993和SecureSocketOptions SslOnConnect。ImapClient.Timeout值为120000,但在此时间之后,仍处于冻结状态。是否存在另一个超时或其他情况?
在现有的互联网连接下,一切都工作得很好。
发布于 2021-05-27 14:04:54
来自ImapIdleExample的示例运行良好,但如果我断开计算机与互联网的连接,则会得到一个未处理的异常:
System.Net.Sockets.SocketException with SocketErrorCode = HostNotFound
我已经在async Task WaitForNewMessagesAsync ()和async Task FetchMessageSummariesAsync (bool print)中更新了catch块
catch (Exception exception)
{
await Task.Delay(new TimeSpan(0, 1, 0), CancelToken.Token);
await ReconnectAsync();
}https://stackoverflow.com/questions/67471835
复制相似问题