c#2.0怎么用代码判断一个WebService是否正常工作

大概方法好象是发送一个WebService的url的请求,再根据得到响应的状态来判断WebService是否正常工作,假设url=http://www.baidu.com... 大概方法好象是发送一个WebService的url的请求,再根据得到响应的状态来判断WebService是否正常工作,假设url=http://www.baidu.com/server/service1.asmx
请给出具体的实现方式和代码
按照lcg1986的方法会发生异常:接口 MSXML2.IXMLHTTPRequest 的 QueryInterface 失败。
按照kadbbz的方法,我找不到new WebClient().DownloadDataAsync(string,AutoResetEvent)这个方法
展开
 我来答
lcg1986
2008-12-04 · TA获得超过3374个赞
知道大有可为答主
回答量:1858
采纳率:90%
帮助的人:1619万
展开全部
在.net中验证WebService的Url有效并且验证服务可用:
需要用到win32下的组件,比如Microsoft XML, v5.0
测试程序具体如下:建一个项目,在你的引用中添加COM---找到Microsoft XML, v5.0
然后using MSXML2;
该组件提供一个接口MSXML2.XMLHTTP可以调用
XMLHTTP http = new XMLHTTP();//实例化
http.open("GET", url, false, null, null);
http.send(null);//打开url,向该url发送一个请求
http.status记下请求的结果状态
200表示请求成功,即该服务存在,返回其他数值在相应的服务器端有定义错误说明

给个函数例子:
/// <summary>
/// 判断webservice是否可用
/// </summary>
/// <returns>true:可用;false:不可用</returns>
public bool getWSStatus()
{
string url = "http://jerry/wscg/service.asmx";
XMLHTTP http = new XMLHTTP();
try
{
http.open("GET", url, false, null, null);
http.send(null);
int iStatus = http.status;
//如果取得的网页状态不正确, 就是不存在或没权访问
if(iStatus == 200)
return true;
else
return false;
}
catch
{
return false;
}
}
宣义坊的大蚂蚁
2008-12-05 · TA获得超过2830个赞
知道大有可为答主
回答量:1617
采纳率:90%
帮助的人:883万
展开全部
如果只是访问一个地址是否有效,建议使用System.Net.WebClient而不是复杂的MSXML
以下是异步验证的代码,同步则直接使用DownloadData,然后对他进行try catch
以下为验证方法内的代码:
System.Threading.AutoResetEvent waiter = new System.Threading.AutoResetEvent (false);
WebClient client = new WebClient();
client.DownloadDataCompleted += new DownloadDataCompletedEventHandler (DownloadDataCallback);
Byte[] pageData = client.DownloadDataAsync("http://www.baidu.com/server/service1.asmx",waiter);
waiter.WaitOne ();

以下为WebClient完成操作的回调方法:
private void DownloadDataCallback(Object sender,
DownloadDataCompletedEventArgs e
)
{
if(null != e.Error)
{
MessageBox.Show("有效");
}
else
{
MessageBox.Show("无效");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3c533f7d32
2008-12-05 · 超过26用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:0
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式