异步 XML Web 服务方法
2007-08-13 10:09
169 查看
些 Web 服务方法会调用长期运行的方法,从而堵塞了它们的线程。为提高这些方法的性能,应考虑将它们作为异步 Web 服务方法公开。实现异步 Web 服务方法允许该线程在返回线程池时执行其他代码。这样,在线程数量有限的线程池中就可以多执行一个线程,从而提高了系统的总体性能和可伸缩性。
有关如何将 Web 服务方法转换为一对为异步访问设计的方法的具体步骤说明,请参见如何:创建异步 Web 服务方法。有关其他代码示例,请参见如何:将异步调用与 Web 服务方法链接在一起。
总体而言,调用执行 I/O 操作的方法的 Web 服务方法是异步实现的一种很好的候选方式。这些方法包括:与其他 Web 服务进行通信的方法,访问远程数据库的方法,执行网络 I/O 的方法,以及读取和写入大文件的方法。这些方法都将大部分的时间花费在硬件执行上,从而导致执行 Web 服务方法的线程发生堵塞。如果异步实现 Web 服务方法,该线程即可被释放并转而执行其他代码。
不论 Web 服务方法是否以异步方式执行,客户端都能与它进行异步通信。异步通信会向 Web 服务描述语言 (WSDL.EXE) 工具生成的代理类中的 .NET 客户端公开,即使 Web 服务方法以同步方式实现也如此。代理类包含 Begin 和 End 方法,用于与每个 Web 服务方法进行异步通信。因此,应根据性能来选择是以异步方式还是以同步方式实现 Web 服务方法。
有关如何将 Web 服务方法转换为一对为异步访问设计的方法的具体步骤说明,请参见如何:创建异步 Web 服务方法。有关其他代码示例,请参见如何:将异步调用与 Web 服务方法链接在一起。
总体而言,调用执行 I/O 操作的方法的 Web 服务方法是异步实现的一种很好的候选方式。这些方法包括:与其他 Web 服务进行通信的方法,访问远程数据库的方法,执行网络 I/O 的方法,以及读取和写入大文件的方法。这些方法都将大部分的时间花费在硬件执行上,从而导致执行 Web 服务方法的线程发生堵塞。如果异步实现 Web 服务方法,该线程即可被释放并转而执行其他代码。
不论 Web 服务方法是否以异步方式执行,客户端都能与它进行异步通信。异步通信会向 Web 服务描述语言 (WSDL.EXE) 工具生成的代理类中的 .NET 客户端公开,即使 Web 服务方法以同步方式实现也如此。代理类包含 Begin 和 End 方法,用于与每个 Web 服务方法进行异步通信。因此,应根据性能来选择是以异步方式还是以同步方式实现 Web 服务方法。
注意 |
---|
实现异步 Web 服务方法对客户端与承载 Web 服务的服务器之间的 HTTP 连接没有影响。HTTP 连接既不会断开,也不会汇集入池。 |
请参见
相关文章推荐
- 有关AJAX异步调用web服务中带参数的方法的心得
- 如何:创建异步 Web 服务方法
- 如何:创建异步 Web 服务方法
- MattPowell介绍了如何在服务器端使用异步Web方法,来创建高性能的 Microsoft ASP.NET Web 服务
- 使用 XML-RPC 为 C++ 应用程序启用 Web 服务(将 C++ 方法作为服务公开的详细指南)
- 如何:使用回调方法实现异步 Web 服务客户端
- 开发自己的Web服务处理程序(以支持Ajax框架异步调用Web服务方法)
- XMLHttpRequest 对象异步调用web服务
- 开发自己的Web服务处理程序(以支持Ajax框架异步调用Web服务方法)
- XMLHttpRequest 对象异步调用web服务
- 让IIS支持ASPX,添加Web服务扩展的方法,没法调试的解决办法
- win2003 关闭不需要的数据库服务 禁止不用的web服务扩展的方法 图文
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求 在 Web 请求中使用 XMLHttpRequest
- 一个配置web.xml的编程方法
- Sun发布Java路线 更好地支持Web服务和XML
- web.xml配置的servlet加载两次的原因及解决方法
- Java SE 6 新特性: XML API 与 Web 服务
- Web.xml V2.5中打开EL表达式支持的方法
- XML Web Service并发异步调用的问题及其解决方案