.net实现ping的实例代码
2014-02-19 00:00
549 查看
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); } } }
相关文章推荐
- .net实现ping的实例代码
- 基于.Net平台应用程序唯一运行实例C#代码实现
- .net实现微信公众账号接口开发实例代码
- .Net 文本框实现内容提示的实例代码(仿Google、Baidu)
- .NET实现可交互的WINDOWS服务的实例代码
- .NET实现XML与DataTable互转的实例代码
- .Net平台应用程序单一运行实例代码实现
- 基于.Net平台应用程序唯一运行实例C#代码实现
- .Net 文本框实现内容提示的实例代码(仿Google、Baidu)
- .NET实现可交互的WINDOWS服务的实例代码
- .NET实现XML与DataTable互转的实例代码
- C#基于.Net平台应用程序唯一运行实例C#代码实现
- 基于.Net平台应用程序唯一运行实例C#代码实现
- .Net/C# 封装磁盘目录文件搜索功能的工具类 (实现了与搜索相关的事件,以便插入客户处理代码)
- iOS tableView实现单选和多选的实例代码
- .NET 纯分页代码实例
- 实现窗体隐藏代码实例(C代码)
- easyUI实现(alert)提示框自动关闭的实例代码
- jQuery实现公告新闻自动滚屏效果实例代码