0

Chilkat IMAP サービスは、それを使用する Windows サービスが正常に実行された数日後、100% の CPU で停止します。数日おき(3~7日)に再現されています。

.NET 4.5 バージョン 9.5.0 64 ビットに Chilkat IAMP を使用しています。

C#コードを中止する方法は次のとおりです(反復の終了ごとに1回実行されます):

    if (imapCon != null)
    {
        if (imapCon.IsLoggedIn())
        {
            imapCon.Logout();
        }

        if (imapCon.IsConnected())
        {
            imapCon.Disconnect();
        }

        imapCon.Dispose();
        imapCon = null;  
    }

ログから: WSAECONNABORTED 確立された接続が、ホスト マシンのソフトウェアによって中止されました。

それを実行するサービスは、仮想クラウド環境に存在します。

これは、Chilkat IMAP 接続の実装方法、クラウド環境の実装、または私のサービス (Chilkat モジュールを使用するアプリケーション) の問題ですか?

以下は Chilkat のログです。

DllDate: 2014 年 5 月 6 日

Chilkatバージョン: 9.5.0.38

UnlockPrefix: SNILIKIMAPMAIL

ユーザー名: WIN-OCJD4A0985E:SYSTEM

アーキテクチャ: リトル エンディアン。64ビット

言語: .NET 4.5 / x64

VerboseLogging: 0

リストメールボックス:

bSubscribedOnly: 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

(leaveContext) failReason: 0

通信失敗。

(leaveContext) ログイン:

DllDate: 2014 年 5 月 6 日

Chilkatバージョン: 9.5.0.38

UnlockPrefix: SNILIKIMAPMAIL

ユーザー名: WIN-OCJD4A0985E:SYSTEM

アーキテクチャ: リトル エンディアン。64ビット

言語: .NET 4.5 / x64

VerboseLogging: 0

ログイン: **

接続タイプ: SSL/TLS

ソケットでの送信エラー (1)

SocketError: WSAECONNABORTED 確立された接続が、ホスト マシンのソフトウェアによって中止されました。

詳細については、この Chilkat ブログの投稿を参照してください: http://www.cknotes.com/?p=91

送信サイズ: 90

TLS メッセージの送信に失敗しました。

LOGIN コマンドの送信に失敗しました

失敗した。

4

1 に答える 1

1

Chilkat メソッド呼び出しが返されず、CPU を 100% 使用している場合、LastErrorText (提供した Chilkat ログ) の内容を取得できません。LastErrorText があるという事実は、Chilkat メソッド呼び出しが返され、アプリが LastErrorText の表示に進んだことを示しています。

私の推測では、あなたのアプリにはループがあり、通常は IMAP メール サーバーとの通信を含む Chilkat メソッド呼び出しが成功しますが (サーバーとの通信に通常の時間が費やされます)、何らかの理由でメソッド呼び出しがすぐに返され始めます。失敗した状態。その時点で、あなたのアプリケーションはおそらく Chilkat メソッドを繰り返し呼び出しているタイトなループに陥っていると思います。100% の CPU 使用率は、Chilkat メソッドの呼び出し内のコードではなく、アプリ内のループが原因である可能性があります。

于 2014-05-29T00:27:00.803 に答える