知识大全 使用WebService进行异步通信

Posted 通信

篇首语:富有臂力的人只能战胜一人;富有知识的人却所向无敌。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用WebService进行异步通信相关的知识,希望对你有一定的参考价值。

使用WebService进行异步通信  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  

  通常在WEB应用程序中不会考虑到这个需求 做智能客户端的时候 当用到WebService时 由于服务器处理速度 网络传输速度等各种原因会使一个WebService从请求开始到获得响应结果之间等待一段时间 这时候线程会处于阻塞状态 程序会等待请求结果导致客户端无法进行其他的动作或处理 这时候就需要异步的使用WebService

  最容易被想到的方法当然是建立一个新的线程来执行WebService的请求并获得结果 这样就可以不影响程序的主线程的工作 并且也非常容易实现 但是在一个复杂的应用程序中 用户也许会同时请求多个webservice 这时候就得创建并控制多个线程 多线程的控制虽然可以实现很好的应用程序 但难度是比较大的 而且很容易引起异常

  的SDK中实际上就有关于异步调用webservice的介绍和示例 其主要的工作原理和流程如下

private void button_Click_(object sender System EventArgs e)              //为一个Webservice的代理类创建一个实例      asy asynchronism someWS = new asy asynchronism();        //创建一个异步回调对象 构造函数的参数为回调的方法 该回调的方法必须包含一个异步操作状态类型的参数      System AsyncCallback cb= new AsyncCallback(showmsg);        //开始进行异步通信 通常定义一个IAsyncResult异步操作状态类型的变量来接收开始异步通信方法所返回的通信状态      //通过这个操作状态的实例就可以掌握当前通信状态      //如 System IAsyncResult ar = someWS BeginHelloWorld(cb someWS);      someWS BeginHelloWorld(cb someWS);          void showmsg(IAsyncResult ar)   //必须要有一个IAsyncResult类型的参数        //定义一个代理类的类型的变量接收所在回调方法的参数的异步操作信息      asy asynchronism someWS=(asy asynchronism)ar AsyncState;        //该代理类实例调用End</webmethod/>方法来获得WebService的结果      MessageBox Show(someWS EndHelloWorld(ar));               方法二 private void button_Click_(object sender System EventArgs e)      //为一个Webservice的代理类创建一个实例      asy asynchronism someWS = new asy asynchronism();        System IAsyncResult ar = someWS BeginHelloWorld(null null);                    ar AsyncWaitHandle WaitOne();        MessageBox Show(someWS EndHelloWorld(ar));   方法一实现了请求和接收异步通信 运用起来比较灵活 工作的方法看起来也很像多线程的操作方式 方法二虽然也实现了发送请求和接收结果异步通信 但是用在实际的程序中并没有达到所需要的效果 详细的介绍请参看SDK中的描述 cha138/Article/program/net/201311/12395

相关参考

知识大全 体验.net 2.0 的优雅 - 异步WebService

体验.net2.0的优雅-异步WebService  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 运用异步输入输出流编写Socket进程通信

运用异步输入输出流编写Socket进程通信  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  杨健(

知识大全 Java NIO(异步IO)Socket通信例子

JavaNIO(异步IO)Socket通信例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  /

知识大全 实现异步调用Web Service,防止页面超时

实现异步调用WebService,防止页面超时  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  普

水电厂计算机监控系统与调度系统的通信接口性能要求?

1本系统通信接口带调制解调器或外加数据通信设备后,应能与微波设备、电力载波设备、光缆设备或专用通道连接。  2系统通信接口应能满足调度要求的通信方式:  a.异步串行半双工通信;  b.异步串行全双工

水电厂计算机监控系统与调度系统的通信接口性能要求?

1本系统通信接口带调制解调器或外加数据通信设备后,应能与微波设备、电力载波设备、光缆设备或专用通道连接。  2系统通信接口应能满足调度要求的通信方式:  a.异步串行半双工通信;  b.异步串行全双工

水电厂计算机监控系统点对点星形网通信接口性能要求?

a.通信方式:异步或同步串行数据传输;  b.接口标准:符合美国电子工业协会标准RS&mdash;423&mdash;A(非平衡电压数字接口电路的电气特性)、RS&mdash;

水电厂计算机监控系统点对点星形网通信接口性能要求?

a.通信方式:异步或同步串行数据传输;  b.接口标准:符合美国电子工业协会标准RS&mdash;423&mdash;A(非平衡电压数字接口电路的电气特性)、RS&mdash;

知识大全 结合Spring2.0和ActiveMQ进行异步消息调用

结合Spring2.0和ActiveMQ进行异步消息调用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 使用webservice解决多系统登陆问题

  微软NET战略的一个比较重要的部分就是webservice利用webservice我们可以创建真正有效的分布式应用程序  下面我们对webservice做一些说明  假设A是客户端B是webser