.net實現(xiàn)ping的實例代碼
更新時間:2014年02月19日 16:41:54 作者:
這篇文章主要介紹了.net實現(xiàn)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);
}
}
}
相關(guān)文章
.net core 靜態(tài)類獲取appsettings的方法
這篇文章主要介紹了.net core 靜態(tài)類獲取appsettings的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06
Microsoft Visual Studio 2010下如何添加命令提示行
這篇文章主要介紹了Microsoft Visual Studio 2010下如何添加命令提示行的相關(guān)資料,需要的朋友可以參考下2015-11-11
如何輕松搭建Windows8云平臺的開發(fā)環(huán)境
Windows Store應用是基于Windows 8操作系統(tǒng)的新一代Windows應用程序,其開發(fā)平臺以及運行模式和以往傳統(tǒng)平臺略有不同。為了幫助更多開發(fā)人員加入到Windows Store應用開發(fā)行列,本篇將介紹如何在Windows Azure云平臺搭建Windows8應用開發(fā)環(huán)境,本篇介紹的方法適合未安裝Windows8操作系統(tǒng),使用Mac或者Linux平臺的開發(fā)人員參考閱讀。2013-02-02
ASP.NET從客戶端中檢測到有潛在危險的request.form值的3種解決方法
這篇文章主要介紹了ASP.NET從客戶端中檢測到有潛在危險的request.form值的3種解決方法,這是ASP.NET開發(fā)中一個比較常見的經(jīng)典的問題,需要的朋友可以參考下2015-01-01

