Служба Windows 100% ЦП с C# IMAP Chilkat
Служба Chilkat IMAP застряла на 100% ЦП через несколько дней, когда служба Windows, которая ее использует, работает нормально. Это воспроизводится каждые несколько дней (3-7 дней).
Я использую Chilkat IAMP для.NET 4.5 версии 9.5.0 64-bit.
Я прерываю код C# (он запускается один раз на каждом конце итерации):
if (imapCon != null)
{
if (imapCon.IsLoggedIn())
{
imapCon.Logout();
}
if (imapCon.IsConnected())
{
imapCon.Disconnect();
}
imapCon.Dispose();
imapCon = null;
}
Из журналов я получаю: WSAECONNABORTED Установленное соединение было прервано программным обеспечением на вашем хост-компьютере.
Служба, которая его запускает, находится в виртуальной облачной среде.
Это проблема с тем, как реализовано соединение Chilkat IMAP, реализация облачной среды или что-то из моего сервиса (приложение, которое использует модуль Chilkat)...?
Ниже приведены журналы Чилкат:
DllDate: 6 мая 2014
Версия Chilkat: 9.5.0.38
Разблокировать Префикс: SNILIKIMAPMAIL
Имя пользователя: WIN-OCJD4A0985E: СИСТЕМА
Архитектура: Little Endian; 64-битный
Язык:.NET 4.5 / x64
VerboseLogging: 0
listMailboxes:
bSubscribeedOnly: 0 ссылка:
почтовый ящик: *
Экранирование кавычек и обратной косой черты в имени почтового ящика...
utf7EncodedMailboxPath: *
getCompleteResponse:
WindowsError: An established connection was aborted by the software in your host machine. WindowsErrorCode: 0x2745 numBytesRequested: 5 Failed to receive data on the TCP socket Failed to read beginning of SSL/TLS record. Failed to read incoming handshake messages. (3) (leaveContext) Client handshake failed. (3) (leaveContext)
ConnectFailReason: 0
(покинуть контекст) failReason: 0
сбой соединения.
(оставить комментарий) Логин:
DllDate: 6 мая 2014
Версия Chilkat: 9.5.0.38
Разблокировать Префикс: SNILIKIMAPMAIL
Имя пользователя: WIN-OCJD4A0985E: СИСТЕМА
Архитектура: Little Endian; 64-битный
Язык:.NET 4.5 / x64
VerboseLogging: 0
Логин: **
Тип соединения: SSL/TLS
Ошибка отправки по сокету (1)
SocketError: WSAECONNABORTED Установленное соединение было прервано программным обеспечением на вашем хост-компьютере.
Для получения дополнительной информации см. Это сообщение в блоге Chilkat: http://www.cknotes.com/?p=91
send_size: 90
Не удалось отправить сообщение TLS.
Не удалось отправить команду входа
Не удалось.
1 ответ
Если вызов метода Chilkat никогда не возвращается и использует 100% ЦП, вы не сможете получить содержимое LastErrorText (который вы указали в журнале Chilkat). Тот факт, что у вас есть LastErrorText, указывает на то, что был возвращен вызов метода Chilkat, а затем ваше приложение перешло к отображению LastErrorText.
Я предполагаю, что в вашем приложении есть цикл, в котором обычно происходит успешное выполнение вызова метода Chilkat, связанного с обменом данными с почтовым сервером IMAP (при обычном количестве времени, затрачиваемого на общение с сервером), но затем по какой-то причине вызов метода начинает немедленно возвращаться с статус не пройден В этот момент я подозреваю, что ваше приложение, вероятно, находится в узком цикле, вызывая метод Chilkat снова и снова. 100% загрузка ЦП, вероятно, вызвана циклом в вашем приложении, а НЕ кодом в вызове метода Chilkat.