使用 ASMX 和 WCF 服务示例
更新:2007 年 11 月
本示例包括两个部分。第一个部分(即 PredictorASMX 解决方案)演示如何从客户端应用程序调用 ASMX 服务(以前称为 ASP.NET Web 服务)。第二个部分(即 Predictor 解决方案)演示如何从客户端应用程序调用 WCF (Windows Communication Foundation) 服务。
获取示例及其安装说明
执行下列一项或多项操作:
在“帮助”菜单上,单击“示例”。
自述文件将显示有关示例的信息。
访问 Visual Studio 2008 示例网站。该网站提供了最新版本的示例。
在安装了 Visual Studio 的计算机上查找示例。默认情况下,示例和自述文件安装在驱动器号:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。对于 Visual Studio 的速成版,所有示例都可联机找到。
有关更多信息,请参见定位示例文件。
安全说明: |
---|
此示例代码用于阐释概念,因此仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“按原样”提供此示例代码,不提供任何保证。 |
运行此示例
从 MSDN 网站上找到本示例,然后下载并打开该示例。
按 F5。
演示
本示例包含两个示例(PredictorASMX.sln 和 Predictor.sln),用于在 Visual Basic 中演示两种不同类型的服务。两个示例都使用服务返回对客户端应用程序所提问题的回答。若要获得最佳结果,请在不同的 Visual Basic 实例中打开这两个解决方案,从而比较这两种方法。
在两个解决方案中,都由文件 PredictorService.vb 包含服务的代码。请注意每个模块顶部的属性。对于 ASMX 服务,WebServiceAttribute 和 WebServiceBindingAttribute 属性用于将类标记为 ASMX Web 服务。WCF 服务包括一个 ServiceContractAttribute(定义为接口 IPredictorService)、一个实现该服务的类以及 Web.config 文件中指定与该实现相关联的行为的项。
如果比较这两个解决方案的 Web.config 文件,您会发现这两个文件很相似,只不过 WCF 版本具有一个附加的 system.ServiceModel 节。这一节除了标识服务的行为以外,还标识了用于服务的终结点和绑定。
两个 PredictorClient 应用程序也很相似。ASMX 示例具有一个对 PredictorSoapClient 的引用;而 WCF 示例则引用 PredictorServiceClient。如果比较这两个客户端应用程序的 App.config 文件,您会注意到两个文件都包含一个 system.ServiceModel 节。ASMX 版本使用一个 basicHttpBinding 连接到 .asmx 终结点;而 WCF 版本则使用一个 wsHttpBinding 连接到 .wcf 终结点。