1

長時間の HTTPS リクエストを処理しようとしています。ServicePointManager.ServerCertificateValidationCallback を使用する私の元のコードは、サーバーの応答に少なくとも 5 秒の遅延を追加します。Java でコーディングされたクラスは本当に高速で、C# に変換しようとしています。

これが私の翻訳です。最後の2行はコンパイルされず、私を夢中にさせています. ThreadSafeClientConnManager と DefaultHttpClient をインスタンス化するにはどうすればよいですか?

    using Org.Apache.Http.Conn.Schemes;
    using Org.Apache.Http.Conn;
    using Org.Apache.Http.Conn.Ssl;
    using Org.Apache.Http.Params;



    IHttpParams httpParams;
    IClientConnectionManager ccm;

    KeyStore store = KeyStore.GetInstance (KeyStore.DefaultType);
    store.Load (null, null);
    SSLSocketFactory sslSocketFact = new SSLSocketFactory (store);
    sslSocketFact.HostnameVerifier = SSLSocketFactory.AllowAllHostnameVerifier;

    httpParams = new BasicHttpParams();
    HttpProtocolParams.SetVersion(httpParams, Org.Apache.Http.HttpVersion.Http11);
    HttpProtocolParams.SetContentCharset(httpParams, "UTF-8");

    SchemeRegistry schemeRegistry = new SchemeRegistry();
    schemeRegistry.Register(new Scheme("http", PlainSocketFactory.SocketFactory, 80));
    schemeRegistry.Register(new Scheme("https", sslSocketFact, 443));

    new ThreadSafeClientConnManager(httpParams, schemeRegistry);
    HttpClient client =  new DefaultHttpClient(ccm, httpParams);
4

0 に答える 0