Exchange MailKit 反应缓慢
Exchange MailKit reacts slowly
当我针对 Exchange 服务器使用 MailKit 时,我从交换服务器日志中看到以下流程,显示 starttls 和 capability 之间的时间过长(大约 15 秒),有时同一过程需要大约 20 毫秒,这是一个巨大的差异!
流程如下:
OpenSession
capability
starttls
capability
authenticate NTLM
capability
namespace
list "" "INBOX"
list "" Inbox
select INBOX
uid FETCH 22274 (BODY.PEEK[])
logout
在 MailKit 中,我每次都创建一个新的 ImapClient,如下所示:
- 使用 NullProtocolLogger() 作为参数创建新的 ImapClient。
- 调用此客户端的 .Connect(),带有(用户名、密码、false)参数。
- 使用新的 NetworkCredentials 调用此客户端的 .Authenticate()。
- 获取收件箱文件夹并接收我要查找的邮件。
- 调用此客户端的.Disconnect(true)。
我不明白为什么 Exchange 服务器偶尔会偶然发现 'starttls' 和 'capability' 之间的相同序列。
有什么想法吗?是 Exchange 服务器问题,还是 MailKit 问题?
这是一个 Exchange 服务器问题。服务器很可能因来自其他客户端或其他原因的请求而过载。
当我针对 Exchange 服务器使用 MailKit 时,我从交换服务器日志中看到以下流程,显示 starttls 和 capability 之间的时间过长(大约 15 秒),有时同一过程需要大约 20 毫秒,这是一个巨大的差异!
流程如下:
OpenSession
capability
starttls
capability
authenticate NTLM
capability
namespace
list "" "INBOX"
list "" Inbox
select INBOX
uid FETCH 22274 (BODY.PEEK[])
logout
在 MailKit 中,我每次都创建一个新的 ImapClient,如下所示:
- 使用 NullProtocolLogger() 作为参数创建新的 ImapClient。
- 调用此客户端的 .Connect(),带有(用户名、密码、false)参数。
- 使用新的 NetworkCredentials 调用此客户端的 .Authenticate()。
- 获取收件箱文件夹并接收我要查找的邮件。
- 调用此客户端的.Disconnect(true)。
我不明白为什么 Exchange 服务器偶尔会偶然发现 'starttls' 和 'capability' 之间的相同序列。
有什么想法吗?是 Exchange 服务器问题,还是 MailKit 问题?
这是一个 Exchange 服务器问题。服务器很可能因来自其他客户端或其他原因的请求而过载。