服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - .net实现ping的实例代码

.net实现ping的实例代码

2019-11-29 14:15ASP.NET教程网 ASP.NET教程

这篇文章主要介绍了.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); 
            }

 

        } 

    }

 

延伸 · 阅读

精彩推荐