ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:27.04KB ,
资源ID:10628781      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10628781.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(WCF入门教程.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

WCF入门教程.docx

1、WCF入门教程WCF入门教程目录WCF入门教程 1本节内容 21、如何:定义服务协定 41.1使用接口创建 Windows Communication Foundation 协定 41.2示例 52、如何:实现服务协定 52.1实现 WCF 服务协定 52.2示例 62.3编译代码 63、如何:承载和运行基本的服务 63.1为服务配置基址 63.2承载服务 63.3验证服务是否正常运行 73.4示例 74、如何:创建客户端 84.1创建 Windows Communication Foundation 客户端 84.2示例 104.3配置 Windows Communication Found

2、ation 客户端 115、如何:使用客户端 135.1使用 Windows Communication Foundation 客户端 145.2示例 146、入门教程疑难解答 146.1问题: 156.2问题: 156.3问题: 156.4问题: 156.5问题: 166.6问题: 166.7问题: 16本节中包含的主题旨在帮助您快速了解 Windows Communication Foundation (WCF) 编程体验。这些主题要根据本主题底部的列表中的顺序完成。通过学习本教程,您可以初步了解创建 WCF 服务和客户端应用程序所需的步骤。服务是一种构造,它公开一个或多个终结点,其中每个

3、终结点都公开一项或多项服务操作。服务的终结点指定下列信息:服务所在的位置;一个绑定,其中包含客户端必须与服务进行通信的信息;一个协定,用于定义服务向其客户端提供的功能。在完成本教程中的系列主题之后,您将会得到一个正在运行的服务,以及一个可以调用该服务操作的客户端。前三个主题描述如何使用协定定义服务,如何实现服务,以及如何在代码中配置服务、承载服务和运行服务。所创建的服务是自承载服务,客户端和服务都在同一计算机上运行。服务使用代码而非配置进行配置。另外 还可以将服务承载于 Internet 信息服务 (IIS) 下。有关 如何执行此操作的更多信息,请参见“如何:如何:在 IIS 中承载 WCF

4、服务”。也可以在配置文件中配置服务。有关使用配置文件的更多信息,请参见使用配置文件配置服务。后三个主题描述如何创建客户端代理,如何配置客户端应用程序,以及如何创建和使用可以访问服务功能的客户端。服务会发布可以访问的元数据,这些数据定义了客户端应用程序与服务操作进行通信所需的构造。WCF 提供了一个 ServiceModel Metadata Utility Tool (Svcutil.exe) 来自动完成以下过程:访问发布的这些元数据,然后使用这些元数据来构造和配置服务的客户端应用程序。本节中的所有主题均假定您使用 Visual Studio 2008 作为开发环境。如果您使用的是其他开发环境

5、,请忽略特定于 Visual Studio 的说明。注意: 如果运行的是 Windows Vista,则必须通过在“开始”菜单上右击 Microsoft Visual Studio 2008,然后选择“以管理员身份运行”的方式来启动 Visual Studio。若要始终以管理员身份启动 Visual Studio 2008,可以创建一个快捷方式,右击该快捷方式,选择“属性”,选择“兼容性”选项卡,然后选中“请以管理员身份运行该程序”复选框。在使用此快捷方式启动 Visual Studio 2008 时,会总是以管理员身份运行。有关可以下载到硬盘中并运行的示例应用程序,请参见 Windows C

6、ommunication Foundation Samples中的主题。有关专门针对本主题的示例,请参见Getting Started Sample。有关创建服务和客户端的更深入信息,请参见基本 WCF 编程。本节内容如何:定义 Windows Communication Foundation 服务协定描述如何使用用户定义的接口创建 WCF 协定。协定用于定义服务向外界提供的功能,并向外界的潜在用户描述如何与服务进行通信。如何:实现 Windows Communication Foundation 服务协定描述如何实现服务协定。创建了协定后,必须在一个从定义协定的接口继承的类中实现服务所提供的

7、功能。如何:承载和运行基本的 Windows Communication Foundation 服务描述如何在代码中配置服务的终结点,以及如何在控制台应用程序内承载服务和启动服务。若要激活服务,必须在运行时环境中配置和承载服务。此环境将创建服务并控制其上下文和生存期。如何:创建 Windows Communication Foundation 客户端描述如何从 WCF 服务检索用于创建 WCF 客户端的元数据。此过程使用由 WCF 提供的 ServiceModel Metadata Utility Tool (Svcutil.exe)。如何:配置基本 Windows Communication

8、 Foundation 客户端描述如何配置使用 ServiceModel Metadata Utility Tool (Svcutil.exe) 创建的基本客户端。配置客户端需要指定客户端用于访问服务的终结点。如何:使用 Windows Communication Foundation 客户端 描述如何使用 ServiceModel Metadata Utility Tool (Svcutil.exe) 生成的 WCF 客户端代理来调用服务所提供的功能。1、如何:定义服务协定这是创建基本 Windows Communication Foundation (WCF) 服务和可以调用该服务的客户端

9、所需的六项任务中的第一项任务。有关全部六项任务的概述,请参见入门教程主题。创建基本 WCF 服务时,第一项任务是定义协定。协定指定服务支持的操作。可以将操作视为一个 Web 服务方法。通过定义 C+、C# 或 VB 接口可创建协定。接口中的每个方法都对应于特定的服务操作。每个接口都必须将 ServiceContractAttribute 应用于自身,而每个操作都必须将 OperationContractAttribute 应用于自身。如果接口中的一个方法具有 ServiceContractAttribute 而没有 OperationContractAttribute,则不公开该方法。在操作过

10、程后面的示例中提供了用于此任务的代码。1.1使用接口创建 Windows Communication Foundation 协定1. 通过在“开始”菜单中右击“Visual Studio 2008”并选择“以管理员身份运行”,以管理员身份打开该程序。2. 创建新的控制台应用程序项目。在“新建项目”对话框中,选中“Visual Basic”或“Visual C#”,并选择“控制台应用程序”模板,并命名为 Service。使用默认的位置。3. 将默认的 Service 命名空间更改为 Microsoft.ServiceModel.Samples。4. 将对 System.ServiceModel.

11、dll 的引用添加到项目。1. 在“解决方案资源管理器”中,右击项目文件夹下的“引用”文件夹,然后选择“添加引用”。2. 单击“添加引用”对话框中的“浏览”选项卡,导航到“c:WindowsMicrosoft.NetFrameworkv3.0Windows Communication Foundation”,选择“System.ServiceModel.dll”,然后单击“确定”。注意: 在使用命令行编译器(例如 Csc.exe 或 Vbc.exe)时,还必须提供程序集的路径。例如,在运行 Windows Vista 的计算机上,默认情况下的路径为:WindowsMicrosoft.NETFr

12、ameworkv3.0Windows Communication Foundation。5. 为 System.ServiceModel 命名空间添加一个 using 语句(在 Visual Basic 中为 Imports)。6. 定义一个名为 ICalculator 的新接口,并向该接口应用 Namespace 值为“http:/Microsoft.ServiceModel.Samples”的 ServiceContractAttribute 属性。显式指定命名空间是一种最佳做法,因为这样可防止将默认命名空间值添加到协定名称。注意: 使用属性来批注接口或类时,可以从属性名称中去掉“Attr

13、ibute”部分。因此 ServiceContractAttribute 将变成 ServiceContract7. 在接口中为 ICalculator 协定公开的每个操作(加、减、乘和除)声明一个方法,并对希望作为公共 WCF 协定的一部分公开的每个方法应用 OperationContractAttribute 属性。1.2示例下面的代码示例演示一个定义服务协定的基本接口。现在已创建接口。生成该项目以确保不存在编译错误,然后按照如何:实现 Windows Communication Foundation 服务协定中的说明实现接口。有关疑难解答信息,请参见入门教程疑难解答。2、如何:实现服务协

14、定这是创建基本 Windows Communication Foundation (WCF) 服务和可以调用该服务的客户端所需的六项任务中的第二项任务。有关全部六项任务的概述,请参见入门教程主题。创建 WCF 服务要求首先创建使用接口定义的协定。有关 创建该接口的更多信息,请参见如何:定义 Windows Communication Foundation 服务协定。本示例中显示的下一步骤是实现接口。这涉及到创建一个名为 CalculatorService 的类,该类实现用户定义的 ICalculator 接口。在操作过程后面的示例中提供了用于此任务的代码。2.1实现 WCF 服务协定1. 在定

15、义了 ICalculator 接口的同一文件中创建一个名为 CalculatorService 的新类。CalculatorService 实现 ICalculator 接口。2. 在 CalculatorService 类中实现在 ICalculator 接口中定义的每个方法。注意: 已经添加写入输出代码以方便测试。2.2示例下面的代码示例演示定义协定的接口和接口的实现。现在已创建并实现了服务协定。生成该解决方案以确保不存在编译错误,然后按照如何:承载和运行基本的 Windows Communication Foundation 服务中的说明运行服务。有关疑难解答信息,请参见入门教程疑难解答

16、。2.3编译代码如果使用的是命令行编译器,则必须引用 System.ServiceModel 程序集。3、如何:承载和运行基本的服务这是创建基本 Windows Communication Foundation (WCF) 服务和可以调用该服务的客户端所需的六项任务中的第三项任务。有关全部六项任务的概述,请参见入门教程主题。本主题描述如何运行基本的 Windows Communication Foundation (WCF) 服务。此过程包含以下步骤: 为服务创建基址。 为服务创建服务主机。 启用元数据交换。 打开服务主机。在过程后面的以下示例中提供了在此任务中编写的代码的完整清单。将下面的代

17、码添加到 Program 类中定义的 Main() 方法。此类是在您创建 Service 解决方案时生成的。3.1为服务配置基址1. 为服务的基址创建 Uri 实例。此 URI 指定 HTTP 方案、本地计算机、端口号 8000,以及服务协定中为服务命名空间指定的服务路径 ServiceModelSample/Service。3.2承载服务1. 导入 System.ServiceModel.Description 命名空间。这行代码应该与 using 或 imports 语句的其余部分一起放置在 Program.cs/Program.vb 文件的顶部。2. 创建一个新的 ServiceHost

18、 实例以承载服务。必须指定实现服务协定和基址的类型。对于此示例,基址为 http:/localhost:8000/ServiceModelSamples/Service,CalculatorService 为实现服务协定的类型。3. 添加一个捕获 CommunicationException 的 try-catch 语句,并在接下来的三个步骤中将该代码添加到 try 块中。catch 子句应该显示错误信息,然后调用 selfHost.Abort()。4. 添加公开服务的终结点。为此,必须指定终结点公开的协议、绑定和终结点的地址。对于此示例,将 ICalculator 指定为协定,将 WSHtt

19、pBinding 指定为绑定,并将 CalculatorService 指定为地址。在这里请注意,终结点地址是相对地址。终结点的完整地址是基址和终结点地址的组合。在此例中,完整地址是 http:/localhost:8000/ServiceModelSamples/Service/CalculatorService。5. 启用元数据交换。为此,添加服务元数据行为。首先创建一个 ServiceMetadataBehavior 实例,将 HttpGetEnabled 属性设置为 true,然后为服务添加新行为。有关 发布元数据时出现的安全问题的更多信息,请参见元数据的安全注意事项。6. 打开 Se

20、rviceHost 并等待传入消息。用户按 Enter 键时,关闭 ServiceHost。3.3验证服务是否正常运行1. 从 Visual Studio 内部运行 service.exe。在 Windows Vista 上运行时,必须使用管理员特权运行服务。由于 Visual Studio 是使用管理员特权运行的,因此 service.exe 也是使用管理员特权运行的。也可以启动新的命令提示,使用管理员特权运行它,并在其中运行 service.exe。2. 打开 Internet Explorer,并浏览到服务的调试页(网址为 http:/localhost:8000/ServiceMode

21、lSamples/Service)。3.4示例下面的示例包括本教程中前面步骤的服务协定和实现,并将服务承载于控制台应用程序中。将以下内容编译为可执行文件 Service.exe。在编译代码时,务必引用 System.ServiceModel.dll。注意: 此类服务需要在计算机上注册 HTTP 地址以进行侦听的权限。管理员帐户具有此权限,但必须授予非管理员帐户对 HTTP 命名空间的权限。有关 如何配置命名空间保留的更多信息,请参见配置 HTTP 和 HTTPS。在 Visual Studio 下运行时,必须使用管理员特权运行 service.exe。此时服务正在运行。继续执行如何:创建 Wi

22、ndows Communication Foundation 客户端中的步骤。有关疑难解答信息,请参见入门教程疑难解答。4、如何:创建客户端这是创建基本 Windows Communication Foundation (WCF) 服务和可以调用该服务的客户端所需的六项任务中的第四项任务。有关全部六项任务的概述,请参见入门教程主题。本主题描述如何检索 WCF 服务中的元数据,以及如何使用这些元数据创建可以访问该服务的 WCF 代理。此任务是通过使用 WCF 所提供的 ServiceModel Metadata Utility Tool (Svcutil.exe) 完成的。此工具可以获取服务的元

23、数据,并使用所选语言生成代理的托管源代码文件。除了创建客户端代理外,该工具还会为客户端创建配置文件,以使客户端应用程序能够连接至其某个终结点上的服务。客户端应用程序会使用生成的代理创建 WCF 客户端对象。如何:使用 Windows Communication Foundation 客户端中对此过程进行了描述。在操作过程后面的示例中提供了用于此任务产生的客户端的代码。4.1创建 Windows Communication Foundation 客户端1. 通过执行以下步骤,在 中在当前解决方案中为客户端创建一个新项目:1. 在包含该服务的同一解决方案中的“解决方案资源管理器”(位于右上角)中,

24、右击当前解决方案(而不是项目),选择“添加”,然后选择“新项目”。2. 在“添加新项目”对话框中,选择“Visual Basic”或“Visual C#”,选择“控制台应用程序”模板,然后将其命名为 Client。使用默认的位置。3. 单击“确定”。2. 为项目添加对 System.ServiceModel.dll 的引用:1. 在“解决方案资源管理器”中的“Client”项目下右击“引用”文件夹,然后选择“添加引用”。2. 选择“最近”选项卡,并从列表框选择“System.ServiceModel.dll”,然后单击“确定”。因为已在本教程的第一步添加了对该程序集的引用,所以该程序集现在列在

25、“最近”选项卡中。如果在“最近”选项卡中看不到该程序集,请选择“浏览”选项卡并导航至 C:WindowsMicrosoft.NETFrameworkv3.0Windows Communication Foundation,然后从这里选择该程序集。注意: 在使用命令行编译器(例如 Csc.exe 或 Vbc.exe)时,还必须提供程序集的路径。例如,在运行 Windows Vista 的计算机上,默认情况下的路径为:WindowsMicrosoft.NETFrameworkv3.0Windows Communication Foundation。3. 在生成的 Program.cs 或 Prog

26、ram.vb 文件中为 System.ServiceModel 命名空间添加一个 using 语句(在 Visual Basic 中为 Imports)。Visual Basic复制代码Imports System.ServiceModel;C#复制代码using System.ServiceModel;4. 启动在前面的步骤中创建的服务。有关更多信息,请参见 如何:承载和运行基本的 Windows Communication Foundation 服务。5. 通过执行以下步骤,使用适当的开关运行Service Model Metadata Utility Tool (SvcUtil.exe)

27、 以创建客户端代码和配置文件:1. 通过选择“开始”菜单中的“Microsoft Windows SDK”项下的“CMD Shell”,启动 Windows SDK 控制台会话。2. 导航到要放置客户端代码的目录。如果创建该客户端项目时使用了默认设置,则目录为 C:UsersDocumentsVisual Studio 2005ProjectsServiceClient。3. 将命令行工具Service Model Metadata Utility Tool (SvcUtil.exe) 与适当的开关一起使用以创建客户端代码。下面的示例生成服务的代码文件和配置文件。Visual Basic复制代

28、码svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config http:/localhost:8000/ServiceModelSamples/serviceC#复制代码svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http:/localhost:8000/ServiceModelSamples/service默认情况下,将在一个以服务命名的文件(例如,在本示例中将为 CalculatorService.cs 或 Calculator

29、Service.vb,其扩展名与编程语言相对应:.vb 对应于 Visual Basic,.cs 对应于 C#)中生成客户端代理代码。/out 开关会将客户端代理文件的名称更改为 generatedProxy.cs。/config 开关会将客户端配置文件的名称从默认的 output.config 更改为 app.config。请注意,这两个文件都是在 C:UsersDocumentsVisual Studio 2005ProjectsServiceClient 目录中生成的。6. 在 Visual Studio 中将生成的代理添加到该客户端项目中,方法是在“解决方案资源管理器”中右击该客户端项

30、目,选择“添加”,然后选择“现有项”。然后选择在上一步中生成的 generatedProxy.cs 文件。4.2示例此示例演示由Service Model Metadata Utility Tool (Svcutil.exe) 生成的客户端代码。现在您已经创建了一个 Windows Communication Foundation (WCF) 客户端。请继续执行如何:配置基本 Windows Communication Foundation 客户端中的步骤配置该客户端。有关疑难解答信息,请参见入门教程疑难解答。如何:配置客户端这是创建基本 Windows Communication Found

31、ation (WCF) 服务和可以调用该服务的客户端所需的六项任务中的第五项任务。有关全部六项任务的概述,请参见入门教程主题。本主题要将使用Service Model Metadata Utility (Svcutil.exe) 生成的客户端配置文件添加到客户端项目中,并解释客户端配置元素的内容。配置客户端包括指定客户端用于访问服务的终结点。每个终结点都有一个地址、一个绑定和一个协定,所有这些元素都必须在配置客户端的过程中指定。在过程后面的示例中提供了为客户端生成的配置文件的内容。4.3配置 Windows Communication Foundation 客户端1. 在 Visual Studio 中,将在前一过程如何:创建 Windows Communication Foundation 客户端中生成的 App.config 配置文件添加到客户端项目中。在“解决方案资源管理器”中右击客户端项目,选择“添加”,然后选择“现有项”。然后,从 C:UsersDocumentsVisual Studio 2005ProjectsServiceClient 目录中选择 App.config 配置文件。(之所以命名为 App.config 文件,是因为在使用 Svcutil.exe 工具生成此文件时使用了 /config:app.config 开关)。单击

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1