class ServicePinger 
    { 
        private static readonly ILog log = LogManager.GetLogger(typeof(ServicePinger)); 
        public ServicePinger(string siteName, string siteUrl, string serviceUrl) 
        { 
            if (siteName == null) 
                throw new ArgumentException(\"siteName can\'t be null\"); 
            if (siteUrl == null) 
                throw new ArgumentException(\"siteUrl can\'t be null\"); 
            if (serviceUrl == null) 
                throw new ArgumentException(\"serviceUrl can\'t be null\"); 
            if (siteName.Length == 0) 
                throw new ArgumentException(\"siteName can\'t be empty\"); 
            if (siteUrl.Length == 0) 
                throw new ArgumentException(\"siteUrl can\'t be empty\"); 
            if (serviceUrl.Length == 0) 
                throw new ArgumentException(\"serviceUrl can\'t be empty\"); 
            pingingSiteName = siteName; 
            pingingSiteUrl = siteUrl; 
            serviceUrlToPing = serviceUrl; 
  
        } 
        private string pingingSiteName = string.Empty; 
        private string pingingSiteUrl = string.Empty; 
        private string serviceUrlToPing = string.Empty; 
        private int timeoutInMilliseconds = 3000; 
  
        /// <summary> 
        /// Does the actual pinging of the service 
        /// </summary> 
        public void Ping() 
        { 
            try
            { 
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceUrlToPing); 
                request.Method = \"POST\"; 
                request.ContentType = \"text/xml\"; 
                request.Timeout = timeoutInMilliseconds; 
                request.Credentials = CredentialCache.DefaultNetworkCredentials; 
  
                Stream stream = (Stream)request.GetRequestStream(); 
                using (XmlTextWriter writer = new XmlTextWriter(stream, Encoding.ASCII)) 
                { 
                    writer.WriteStartDocument(); 
                    writer.WriteStartElement(\"methodCall\"); 
                    writer.WriteElementString(\"methodName\", \"weblogUpdates.ping\"); 
                    writer.WriteStartElement(\"params\"); 
                    writer.WriteStartElement(\"param\"); 
                    writer.WriteElementString(\"value\", pingingSiteName); 
                    writer.WriteEndElement(); 
                    writer.WriteStartElement(\"param\"); 
                    writer.WriteElementString(\"value\", pingingSiteUrl); 
                    writer.WriteEndElement(); 
                    writer.WriteEndElement(); 
                    writer.WriteEndElement(); 
                } 
  
                request.GetResponse(); 
            } 
            catch (InvalidOperationException ex) 
            { 
                log.Error(ex); 
            } 
            catch (NotSupportedException ex) 
            { 
                log.Error(ex); 
            } 
        } 
    }
 
                
                
                    本文地址:https://www.stayed.cn/item/23224
                    转载请注明出处。
                    本站部分内容来源于网络,如侵犯到您的权益,请 联系我