長時間の 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);