当前位置: 代码迷 >> C# >> net实现ping的步骤
  详细解决方案

net实现ping的步骤

热度:180   发布时间:2016-04-28 08:24:20.0
net实现ping的方法
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);            }           }     }