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);
}
}
}
本文地址:https://www.stayed.cn/item/23224
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我