1

AmazonクラウドサーバーでWCFサービスを実行しています。一部のクライアント(5分ごとにサービスをポーリングする長時間実行プロセス)では、次の例外が発生することがあります。

System.ServiceModel.Security.SecurityNegotiationException:権限'myservicehost.com'でSSL/TLSセキュアチャネルの信頼関係を確立できませんでした。---> System.Net.WebException:基になる接続が閉じられました:SSL/TLSのセキュリティで保護されたチャネルの信頼関係を確立できませんでした。---> System.Security.Authentication.AuthenticationException:検証手順に従って、リモート証明書が無効です。

SSL証明書に問題があるようですが、理由がわかりません。証明書はDigiCertによって発行されました。

奇妙なことに、クライアントの起動時に常にWCF呼び出しが成功します。その後、私が書いたように、5分ごとに呼び出しが繰り返されます。これは、30分から8時間の時間が経過するまで正常に機能します。それ以降は機能しなくなり、以降のすべての呼び出しで上記の例外が発生します。その後、この状態は数日間続く可能性があります。

まれに、2/3日後に、例外が再び発生し始める前に、短時間で再び機能する場合があります。

クライアントプロセスを再起動すると、上記の問題が何度も繰り返されるまで、しばらくの間は問題ありません。

SOにはこのタイトルのメッセージがたくさんありますが、私の特集に関連するものは見つかりませんでした。他のほとんどの場合、例外は常に発生し、不定期ではありません。それで、誰かが私を助けたり、私をある方向に向けようとしたりすることができますか?

4

1 に答える 1

0

長い間研究した後、ついに解決策を見つけました。私たちのソフトウェアの同じプロセスで、別のモジュールが同時に実行されていました。このモジュールは FTP リクエストを行い、次のコードが含まれていました。

ServicePointManager.ServerCertificateValidationCallback =
    new RemoteCertificateValidationCallback( myCertificateValidation );

myCertificateValidationカスタム検証を行うコールバック メソッドでした。残念ながら、私の場合、常に返されfalseました。これにより、上記の例外が発生します。FTP モジュールが常に実行されているわけではないため、エラーを見つけるのは非常に困難でした。

于 2012-11-26T16:34:38.950 に答える