积极答复者
判断WEBservice地址是否存在

问题
-
我在程序怎么判断一个WEBSERVICE地址是否存在或者可用.
假如地址是http://202.102.0.153/TQDbService.asmx
谢谢各位
努力+方法=成功- 已移动 Sheng Jiang 蒋晟 2009年8月26日 16:03 web service问题 (发件人:Visual C#)
2009年8月26日 6:48
答案
-
/// <summary>
/// 测试服务地址是否可用
/// </summary>
/// <param name="str"></param>
public void getWSStatus(string str)
{
string url = str;
XMLHTTP http = new XMLHTTP();
try
{
http.open("GET", url, false, null, null);
http.send(null);
int iStatus = http.status;
//如果取得的网页状态不正确, 就是不存在或没权访问
if (iStatus == 200)
{
MessageBox.Show("该地址可用!");
return ;
}
else
{
MessageBox.Show("该地址不可用!");
return ;
}
}
catch
{
MessageBox.Show("该地址不可用!");
return ;
}
}
我找到了一个方法,挺好的
努力+方法=成功- 已标记为答案 邹俊才 2009年8月27日 6:49
2009年8月27日 6:00
全部回复
-
你好!
通过HttpWebRequest来访问页面,通过WebException异常来判断是否能访问成功:
try { // Create a web request for an invalid site. Substitute the "invalid site" strong in the Create call with a invalid name. HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create("invalid site"); // Get the associated response for the above request. HttpWebResponse myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse(); myHttpWebResponse.Close(); } catch(WebException e) { Console.WriteLine("This program is expected to throw WebException on successful run."+ "\n\nException Message :" + e.Message); if(e.Status == WebExceptionStatus.ProtocolError) { Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode); Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription); } } catch(Exception e) { Console.WriteLine(e.Message); }
周雪峰- 已建议为答案 Raymond Tang 2009年8月27日 1:17
2009年8月26日 8:20 -
/// <summary>
/// 测试服务地址是否可用
/// </summary>
/// <param name="str"></param>
public void getWSStatus(string str)
{
string url = str;
XMLHTTP http = new XMLHTTP();
try
{
http.open("GET", url, false, null, null);
http.send(null);
int iStatus = http.status;
//如果取得的网页状态不正确, 就是不存在或没权访问
if (iStatus == 200)
{
MessageBox.Show("该地址可用!");
return ;
}
else
{
MessageBox.Show("该地址不可用!");
return ;
}
}
catch
{
MessageBox.Show("该地址不可用!");
return ;
}
}
我找到了一个方法,挺好的
努力+方法=成功- 已标记为答案 邹俊才 2009年8月27日 6:49
2009年8月27日 6:00