public HttpClientEx(Lpp.Dns.DataMart.Lib.NetWorkSetting ns, System.Security.Cryptography.X509Certificates.X509Certificate2 cert) { _NetworkSetting = ns; if (cert == null) { this._Client = new HttpClient() { Timeout = new TimeSpan(0, 10, 0) }; } else { var handler = new WebRequestHandler { ClientCertificateOptions = ClientCertificateOption.Manual, UseDefaultCredentials = false }; handler.ClientCertificates.Add(cert); this._Client = new HttpClient(handler) { Timeout = new TimeSpan(0, 10, 0) }; } System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | System.Net.SecurityProtocolType.Tls11; var metadata = new DMCMetadata { DMCFileVersion = _FileVersion, DMCProductVersion = _ProductVersion }; var creds = Crypto.EncryptStringAES(string.Format("{0}:{1}", _NetworkSetting.Username, _NetworkSetting.DecryptedPassword), "PopMedNet Authorization", _NetworkSetting.EncryptionSalt); this._Credentials = Convert.ToBase64String(Encoding.UTF8.GetBytes(creds + ":" + "" + ":" + JsonConvert.SerializeObject(metadata))); this._Client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("PopMedNet", _Credentials); this._Host = ns.HubWebServiceUrl.TrimEnd("/".ToCharArray()); }
public void RegisterNetwork(Lpp.Dns.DataMart.Lib.NetWorkSetting network) { Parallel.ForEach(network.DataMartList, dm => { var cacheDuration = new CacheDuration(network.NetworkId, network.NetworkName, dm.DataMartId, dm.DataMartName, dm.EnableResponseCaching, dm.DaysToRetainCacheItems); CheckCache(BaseCachePath, cacheDuration); DataMartCacheDurations.Add(cacheDuration); }); }
public DnsApiClient(Lpp.Dns.DataMart.Lib.NetWorkSetting ns, System.Security.Cryptography.X509Certificates.X509Certificate2 cert = null) : base(ns.HubWebServiceUrl, ns.Username, ns.DecryptedPassword, cert) { this._Client.Timeout = ns.WcfReceiveTimoutTimeSpan; }
public DnsApiClient(Lpp.Dns.DataMart.Lib.NetWorkSetting ns, System.Security.Cryptography.X509Certificates.X509Certificate2 cert = null) : base(ns, cert) { this._Client.Timeout = ns.WcfReceiveTimoutTimeSpan; }