再问超奇怪难题:winform异步调用webservice的Completed事件在有些机器上每次都被触发,在有些机器每次都没有触发。但是如果同步调用webs
 再问超奇怪难题:winform异步调用webservice的Completed事件在有些机器上每次都被触发,在有些机器每次都没有触发。但是如果同步调用webservice,所有机器都成功返回。   
 具体情况如下:   
 有2台pc机:client001,client002,   同样的环境和同样的代码. 
 (.net   2.0   framework   +   WinXP   professional   环境)     
 client001   调用异步webservice,每次都失败(completed   event不触发,代码也没有报任何错误);   调用同步webservice,每次都成功返回. 
 client002   调用异步webservice,每次都成功返回;   调用同步webservice,每次都成功返回.   
 问题是client001   为什么会调用异步,每次都失败???   
 到底是: 
 1.   windowXP   问题? 
 2.   .net   framwork   问题? 
 3.   config文件配置问题? 
 4.   网络配置问题? 
 5.   还是其他软硬件问题?   
 这是我的一些研究线索: 
 1   我比较了很多这2台机器的各种参数和配置情况,也没有查出什么不同来。 
 2   我也跟踪了web   service   server端的反应,不管是client001还是client002,每次调用不管成功失败,server端的代码是肯定执行到的。     
 我的测试代码很简单,就是个HelloWorld例子。(如下)     
 //这是客户端代码   client.cs   
 //异步调用webservice 
 private   void   button6_Click(object   sender,   EventArgs   e) 
                         { 
                                     webservicetest.Service   service   =   new   webservicetest.Service(); 
                                     service.Url   =    "http://d-sjn-khathi/webservicetest/Service.asmx ";   
                                     service.HelloWorldCompleted   +=   new   HelloWorldCompletedEventHandler(service_HelloWorldCompleted);   
                                     service.HelloWorldAsync();                                                                             
                         }   
 //异步调用webservice的事件处理 
                         void   service_HelloWorldCompleted(object   sender,   HelloWorldCompletedEventArgs   e) 
                         {   
                                     label1.Text   =   e.Result; 
                         }     
 //这是同步调用webservice 
                         private   void   button7_Click(object   sender,   EventArgs   e) 
                         { 
                                     webservicetest.Service   service   =   new   webservicetest.Service(); 
                                     service.Url   =    "http://d-sjn-khathi/webservicetest/Service.asmx ";   
                                     label1.Text   =   service.HelloWorld(); 
                         }     
 //这是web   service   服务器端代码   service.cs     
 using   System; 
 using   System.Web; 
 using   System.Web.Services; 
 using   System.Web.Services.Protocols;   
 [WebService(Namespace   =    "http://tempuri.org/ ")] 
 [WebServiceBinding(ConformsTo   =   WsiProfiles.BasicProfile1_1)]