• 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);
                }
    
    
    
            }
    
        }
    
  • 相关阅读:
    内置函数zip,map,even
    异常处理
    requests模块(请求接口)
    网络编程之urllib
    cookie/session区别
    测试环境搭建流程
    接口开发01--mock接口
    操作Redis--hash/key-value
    操作excel--xlwt/xlrd/xlutils模块
    可变对象 不可变对象 浅拷贝 深拷贝
  • 原文地址:https://www.cnblogs.com/qishiguilai/p/3554753.html
Copyright © 2020-2023  润新知