/// <summary> /// Initializes a new instance of the <strong>CertSrvCdpUrlEntry</strong> class using configuration URI string /// and publish flags. /// </summary> /// <param name="uri">An URL that is formatted as shown in Certification Authority management console.</param> /// <exception cref="ArgumentException">The <strong>uri</strong> parameter is null or empty string.</exception> /// <exception cref="FormatException">The string in the <strong>uri</strong> parameter does not match required pattern.</exception> /// <remarks> /// <p>Only absolute (local), UNC paths and LDAP:// URLs are supported for CRL file publishing.</p> /// <p>Only LDAP:// and HTTP:// URLs are supported for CRL file retrieval.</p> /// </remarks> public static CertSrvCdpUrlEntry FromConfigUri(String uri, CertSrvCdpPublishFlags publishFlags) { if (String.IsNullOrWhiteSpace(uri)) { throw new ArgumentException("'uri' parameter cannot be null or empty string."); } return(new CertSrvCdpUrlEntry(uri, true, publishFlags)); }
CertSrvCdpUrlEntry(String uri, Boolean isConfigUri, CertSrvCdpPublishFlags publishFlags) { if (isConfigUri) { initializeFromConfig(uri, publishFlags); } else { initializeFromReg(uri); } getUrlScheme(); }
void initializeFromReg(String regUri) { var regex = new Regex(@"(^\d+):(.+)"); Match match = regex.Match(regUri); if (match.Success) { Int16 matches = Convert.ToInt16(match.Groups[1].Value); flags = (CertSrvCdpPublishFlags)matches; Uri = translateRegToConfigVar(match.Groups[2].Value); } else { throw new FormatException(); } }
void initializeFromConfig(String configUri, CertSrvCdpPublishFlags publishFlags) { Uri = configUri; flags = publishFlags; }