.net实现ping的实例代码

前端技术 2023/09/08 .NET

复制代码 代码如下:

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

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。