使用 ASP.NET 创建的 XML Web 服务的设计指南

Web 服务是一个强大的技术,用来提供可以从整个 Internet 以编程方式进行访问的服务。下面的建议可以帮助您创建专业的 Web 服务:

  • Web 服务支持客户端与承载该 Web 服务的服务器之间的同步和异步通信。在同步通信情况下,客户端向服务主机服务器发送服务请求并等待响应。这会阻止客户端在等待结果时执行其他操作。而异步通信让客户端在等待响应时继续处理其他任务。客户端在服务请求结果可用后才做出响应。

    当使用 Web 服务描述语言工具 (Wsdl.exe) 创建代理类时,将在该类中生成标准的同步版本和异步版本的方法。异步版本由两个方法组成,分别称为 Begin 和 End。Begin 方法用于启动 Web 服务,而 End 方法检索结果。

    使用异步通信提高了系统利用率,避免当客户端等待 Web 服务结果时在客户端上造成延迟。

    有关代码示例,请参见“如何:从 Web 服务客户端上进行异步调用”。有关异步通信的其他信息,请参见与 XML Web 服务进行异步通信

  • 通过 Internet 进行大量的服务请求可能影响客户端应用程序的性能。当设计您的 Web 服务时,通过创建将相关信息组合在一起的方法对服务请求进行有效地利用。例如,假设您有一个 Web 服务,用于检索有关图书的信息。创建一个方法在一个服务请求中返回所有信息,而不是使用单独的方法分别检索书名、作者和出版商。一次传输一大块信息比多次传输小块信息更有效。

  • 有关代码示例,请参见“如何:将相关信息组合到一个 Web 服务方法中”。当设计您的 Web 服务时,一定要遵循标准的面向对象的编程惯例。使用封装来隐藏实现细节。对于更加复杂的 Web 服务,您可以使用继承和多态性来重复利用代码并简化设计。

  • 有关代码示例,请参见“如何:在 Web 服务中使用继承”。使用输出缓存来提高您的 Web 服务的性能。当打开输出缓存时,服务请求的结果在一段指定的时间内存储在输出缓存中。如果发出了类似的 Web 服务请求,则可以从缓存中获得结果,而不必重新进行计算。这样,通过减少 Web 服务服务器需要进行的处理,缩短了 Web 服务的反应时间。可以在客户端和服务器上执行缓存。Duration 属性允许您指定对 Web 服务的输出进行缓存的时间。

    在客户端上启用输出缓存的指令是:

原文地址:https://www.cnblogs.com/wzyexf/p/389742.html