现在的位置: 首页 > 综合 > 正文

异步 XML Web 服务方法

2013年11月27日 ⁄ 综合 ⁄ 共 631字 ⁄ 字号 评论关闭
些 Web 服务方法会调用长期运行的方法,从而堵塞了它们的线程。为提高这些方法的性能,应考虑将它们作为异步 Web 服务方法公开。实现异步 Web 服务方法允许该线程在返回线程池时执行其他代码。这样,在线程数量有限的线程池中就可以多执行一个线程,从而提高了系统的总体性能和可伸缩性。

有关如何将 Web 服务方法转换为一对为异步访问设计的方法的具体步骤说明,请参见如何:创建异步 Web 服务方法。有关其他代码示例,请参见如何:将异步调用与 Web 服务方法链接在一起

总体而言,调用执行 I/O 操作的方法的 Web 服务方法是异步实现的一种很好的候选方式。这些方法包括:与其他 Web 服务进行通信的方法,访问远程数据库的方法,执行网络 I/O 的方法,以及读取和写入大文件的方法。这些方法都将大部分的时间花费在硬件执行上,从而导致执行 Web 服务方法的线程发生堵塞。如果异步实现 Web 服务方法,该线程即可被释放并转而执行其他代码。

不论 Web 服务方法是否以异步方式执行,客户端都能与它进行异步通信。异步通信会向 Web 服务描述语言 (WSDL.EXE) 工具生成的代理类中的 .NET 客户端公开,即使 Web 服务方法以同步方式实现也如此。代理类包含 Begin 和 End 方法,用于与每个 Web 服务方法进行异步通信。因此,应根据性能来选择是以异步方式还是以同步方式实现 Web 服务方法。

Note注意

实现异步 Web 服务方法对客户端与承载 Web 服务的服务器之间的 HTTP 连接没有影响。HTTP 连接既不会断开,也不会汇集入池。

请参见

 

抱歉!评论已关闭.