码迷,mamicode.com
首页 > Web开发 > 详细

net实现ping的方法

时间:2016-02-01 09:46:40      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

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

  

net实现ping的方法

标签:

原文地址:http://www.cnblogs.com/shouce/p/5174358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!