示例#1
0
        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());
        }
示例#2
0
 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);
     });
 }
示例#3
0
 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;
 }
示例#4
0
 public DnsApiClient(Lpp.Dns.DataMart.Lib.NetWorkSetting ns, System.Security.Cryptography.X509Certificates.X509Certificate2 cert = null)
     : base(ns, cert)
 {
     this._Client.Timeout = ns.WcfReceiveTimoutTimeSpan;
 }