.net实现ping的实例代码

 更新时间:2014年02月19日 16:41:54   作者:  
这篇文章主要介绍了.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);
            }

        }

    }

相关文章

  • ASP.NET笔记之Calender的使用说明

    ASP.NET笔记之Calender的使用说明

    在Calender中,所有可选择的符号会显示下划线,这是因为它们在浏览器都会呈现为链接。如果让用户可以选择某天、月、周,必须设置SelectionMode属性
    2013-04-04
  • ASP.Net获取客户端网卡MAC的小例子

    ASP.Net获取客户端网卡MAC的小例子

    这篇文章介绍了ASP.Net获取客户端网卡MAC的小例子,有需要的朋友可以参考一下
    2013-07-07
  • 详解ASP.NET MVC Form表单验证

    详解ASP.NET MVC Form表单验证

    这篇文章主要为大家详细介绍了ASP.NET MVC Form表单验证,一般验证方式有Windows验证和表单验证,web项目用得更多的是表单验证,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • ASP.net Forms验证Demo

    ASP.net Forms验证Demo

    Asp.net中基于Forms验证的角色验证授权
    2009-01-01
  • .net下log4net使用方法详解

    .net下log4net使用方法详解

    这篇文章主要为大家详细介绍了.net下log4net使用方法,以控制台应用程序为例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • .net core 静态类获取appsettings的方法

    .net core 静态类获取appsettings的方法

    这篇文章主要介绍了.net core 静态类获取appsettings的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 解析微信支付的实现方法(.NET版)

    解析微信支付的实现方法(.NET版)

    由于微信的广泛利用,基于微信开发的一系列也应运而生,这篇文章主要介绍了解析微信支付的实现方法(.NET版),有兴趣的可以了解一下。
    2016-11-11
  • Microsoft Visual Studio 2010下如何添加命令提示行

    Microsoft Visual Studio 2010下如何添加命令提示行

    这篇文章主要介绍了Microsoft Visual Studio 2010下如何添加命令提示行的相关资料,需要的朋友可以参考下
    2015-11-11
  • 如何轻松搭建Windows8云平台的开发环境

    如何轻松搭建Windows8云平台的开发环境

    Windows Store应用是基于Windows 8操作系统的新一代Windows应用程序,其开发平台以及运行模式和以往传统平台略有不同。为了帮助更多开发人员加入到Windows Store应用开发行列,本篇将介绍如何在Windows Azure云平台搭建Windows8应用开发环境,本篇介绍的方法适合未安装Windows8操作系统,使用Mac或者Linux平台的开发人员参考阅读。
    2013-02-02
  • ASP.NET从客户端中检测到有潜在危险的request.form值的3种解决方法

    ASP.NET从客户端中检测到有潜在危险的request.form值的3种解决方法

    这篇文章主要介绍了ASP.NET从客户端中检测到有潜在危险的request.form值的3种解决方法,这是ASP.NET开发中一个比较常见的经典的问题,需要的朋友可以参考下
    2015-01-01

最新评论