首页 > 学院 > 开发设计 > 正文

net实现ping的方法

2019-11-17 03:20:52
字体:
来源:转载
供稿:网友

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


上一篇:C#接口的使用

下一篇:[CLR via C#]12. 泛型

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表