当前位置: 代码迷 >> Web Service >> 多线程中检测某个.asmx链接是否有效,该怎么解决
  详细解决方案

多线程中检测某个.asmx链接是否有效,该怎么解决

热度:260   发布时间:2012-05-08 22:09:41.0
多线程中检测某个.asmx链接是否有效
我的测试code:
C# code

try 
{ 
  
System.Net.WebRequest   myRequest   =   System.Net.WebRequest.Create( "http://192.168.0.6/rootserver/DirService.asmx "); 

  
System.Net.WebResponse     myResponse   =   myRequest.GetResponse(); 


return   "ok "; 
} 
catch(Exception   ex) 
{ 
return   ex.Message.ToString(); 
} 



或者

C# code

//引入命名空间MSXML2
using MSXML2;
public bool getWSStatus()
        {
            string url = "http://192.168.105.10/hotelwebsrv/hotelwebsrv.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;
            }
        }


 
假如.asmx无效,大概需要16-18秒的反应时间,有木有更快一点的方法???
假如我在将这个放在多线程中,时间慢会是程序的结果报错,所以继续更好的方法,在线等!!!

------解决方案--------------------
这个时间取决于很多因素,你能控制的很少很少,你最多可以大概控制 WebRequest 的timeout