zoukankan      html  css  js  c++  java
  • 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);
                }
    
    
    
            }
    
        }
    
  • 相关阅读:
    最小二乘拟合(转)good
    会议论文重新投稿算不算侵权?这肯定是所多人都遇到过的问题(转)
    吝啬的国度
    压力单位MPa、Psi和bar之间换算公式
    Oracle建立表空间和用户
    layoutSubviews总结
    C++中出现的计算机术语4
    445port入侵具体解释
    hdu
    ORM框架
  • 原文地址:https://www.cnblogs.com/qishiguilai/p/3554753.html
Copyright © 2011-2022 走看看