0

基になる接続が閉じられました: 接続が予期せず閉じられました

WebClient の使用時にエラー メッセージが表示されます。これをaspコードでテストしましたが、かなりうまく動作しています。しかし、コードのexeバージョンを実行しようとすると、次のエラーが発生し、サーバーからリクエストアドレスにアクセスでき、それは内部ネットワーク内にあります。

私のサーバー設定:- Windows Server 2003 Entrerprise SP2 asp.net 2.0.50727 iis v6.0

ここにいくつかのコードがあります:

への手動アクセス

protected static String cross_server_req(String strContent, String strPage, String strPrivateKey)
    {
        try
        {
            WebClient wc = new WebClient();
            String strURL = SERVICE_PATH + strPage + "?r=" + DES_.DESEncrypt(strContent);
            byte[] responseArray = wc.DownloadData(strURL);
            String strResData = Encoding.UTF8.GetString(responseArray);
            if (Config.RecordWebService == "1")
            {
                String strLogContent = "Request:" + strContent + "\r\nResponse:" + strResData + "\r\nDateCreated:" + D_Time.DNow + "\r\n\r\n";
                ServiceLog.Logger(strPage, strLogContent);
            }
            if (null != strResData && String.Empty != strResData)
            {
                return strResData.Trim();
            }
        }
        catch (Exception ex)
        {
            ServiceLog.Logger("cross_server_req() Exception:" + ex.Message + "\r\n" + ex.StackTrace);
        }
        return null;
    }

ここにログから

cross_server_req() Exception:The underlying connection was closed: The connection was closed unexpectedly.
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadData(Uri address)
at System.Net.WebClient.DownloadData(String address)
at Account.cross_server_request_curl(String strContent, String strPage, String strPrivateKey)

この問題に役立つ提案を教えてください。私はサイトを見回しましたが、解決策は見つかりませんでした。

4

1 に答える 1

0

このエラーは、HTTPS URL にヒットしたと仮定して、TLS/SSL 接続に関係している可能性があると思います。このスレッドを見てください。基本的に、証明書が有効であることを確認するためのコードを提供する必要があります。これは、拇印の問題があるか、完全に信頼されていない CA に必要です。これが問題の解決に役立つことを願っています。

System.Net.ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(validateSSLCert);


private static bool validateSSLCert(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
   return true;
}
于 2013-03-27T23:38:56.190 に答える