首页  >  文章  >  php教程  >  net实现ping的方法

net实现ping的方法

WBOY
WBOY原创
2016-07-06 13:30:181390浏览

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 ca

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);
            }
 
 
 
        }
 
    }

  


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn