WebService异步调用中的超时设置问题。
我需要异步调用WebService,以便在客户端网络不通的情况下,先显示一个等待页面。等有响应后,在继续。代码如下: 
 private   string   AsyncGetServerVersion(GetVersion   ver,string   localPartName,string   localVersionNum) 
 { 
 	IAsyncResult   result;   
 	result   =   ver.BeginReturnPathFromServer(localPartName,localVersionNum,null,null); 
 	Form   fWait   =   new   Form(); 
 	fWait.StartPosition   =   FormStartPosition.CenterScreen; 
 	fWait.Height   =   150; 
 	fWait.Width   =   300; 
 	fWait.Location   =   this.Location; 
 	fWait.Show(); 
 	Application.DoEvents(); 
 	fWait.Text   =    "正在连接网络,请稍等 "; 
 	result.AsyncWaitHandle.WaitOne(); 
 	fWait.Close(); 
 	string   downloadName   =   ver.EndReturnPathFromServer(result); 
 	return   downloadName; 
 }   
 为了缩短等待时间,我在代理类中添加了如下代码,来设置超时时间: 
 //通过重载来设置超时时间 
 protected   override   WebRequest   GetWebRequest(Uri   uri) 
 { 
 	HttpWebRequest   wr   =   (HttpWebRequest)base.GetWebRequest(   uri   ); 
 	wr.Timeout   =   10*1000; 
 	return   wr; 
 }   
 之后问题出现了。 
 如果我调用的是同步方法,比如:ver.ReturnPathFromServer(...); 
 那么设置的这个超时时间的是有效的。 
 如果我调用的是异步方法,那么这个超时时间好像一点效果都没有。   
 问:为什么会出现这样的问题,在异步情况下,我怎么设置超时时间? 
------解决方案--------------------我刚好也遇到这个问题,帮楼主顶!
------解决方案--------------------参考http://www.cnblogs.com/oscarxie/archive/2007/01/13/619493.aspx
------解决方案--------------------ref:http://www.rainsts.net/article.asp?id=166