如何:在配置中指定客户端绑定

在此示例中,创建了一个使用计算器服务的客户端控制台应用程序,并在配置中以声明方式为该客户端指定了绑定。该客户端访问实现了 ICalculator 接口的 CalculatorService,并且服务和客户端都使用 BasicHttpBinding 类。

上述过程假设计算器服务正在运行。有关如何生成服务的信息,请参见如何:在配置中指定服务绑定。它还使用 Windows Communication Foundation (WCF) 提供来自动生成客户端组件的 ServiceModel Metadata Utility Tool (Svcutil.exe)。该工具生成用于访问服务的客户端代码和配置。

客户端分两部分生成。Svcutil.exe 生成实现 ICalculator 接口的 ClientCalculator。然后,通过构造 ClientCalculator 的实例来构造客户端应用程序。

通常,最佳做法是以声明方式在配置中指定绑定和地址信息,而不是在代码中强制指定。在代码中定义终结点通常不可行,因为已部署的服务的绑定和地址通常不同于开发服务时使用的绑定和地址。一般说来,通过将绑定和寻址信息放置在代码之外,无需重新编译或重新部署应用程序即可更改这些信息。

使用Configuration Editor Tool (SvcConfigEditor.exe) 可以执行下列所有配置步骤:

有关此示例的源代码副本,请参见Basic Binding示例。

在配置中指定客户端绑定

  1. 在命令行中,使用 Svcutil.exe 根据服务元数据生成代码。

    Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address> 
    
  2. 生成的客户端包含 ICalculator 接口,该接口定义了客户端实现必须满足的服务协定。

  3. 生成的客户端还包含 ClientCalculator 的实现。

  4. Svcutil.exe 还为使用 BasicHttpBinding 类的客户端生成配置。使用 Visual Studio 时,请将此文件命名为 App.config。请注意,在服务的实现内部,未指定地址和绑定信息。而且,不必编写代码也可从配置文件中检索该信息。

  5. 在应用程序中创建 ClientCalculator 的实例,然后调用服务操作。

  6. 编译并运行客户端。

另请参见

概念

使用绑定配置服务和客户端