如何:使用 Windows Communication Foundation 客户端
在创建并配置了 Windows Communication Foundation (WCF) 代理后,就可以创建客户端实例,进而编译客户端应用程序并使用它与 WCF 服务进行通信。 本主题描述创建和使用 WCF 客户端的过程。 此过程执行三个操作:创建 WCF 客户端,从生成的代理调用服务操作,以及在完成操作调用后关闭客户端。
在过程后面的示例中还提供了过程中所讨论的代码。
使用 Windows Communication Foundation 客户端
1.为要调用的服务的基址创建 EndpointAddress 实例,然后创建 WCF Client 对象。
2.从 Client 内调用客户端操作。
3.在 WCF 客户端上调用 Close。
示例
下面的示例演示如何创建 WCF 客户端,如何调用客户端操作,以及在完成操作调用后如何关闭客户端。
将生成的 WCF 客户端和下面的代码示例编译为可执行文件 Client.exe。 在编译代码时,务必引用 System.ServiceModel。
Code
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
namespace ServiceModelSamples
{
class Client
{
static void Main()
{
//Step 1: Create an endpoint address and an instance of the WCF Client.
EndpointAddress epAddress = new EndpointAddress("http://localhost:8000/ServiceModelSamples/Service/CalculatorService");
CalculatorClient client = new CalculatorClient(new WSHttpBinding(), epAddress);
// Step 2: Call the service operations.
// Call the Add service operation.
double value1 = 100.00D;
double value2 = 15.99D;
double result = client.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);
// Call the Subtract service operation.
value1 = 145.00D;
value2 = 76.54D;
result = client.Subtract(value1, value2);
Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);
// Call the Multiply service operation.
value1 = 9.00D;
value2 = 81.25D;
result = client.Multiply(value1, value2);
Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result);
// Call the Divide service operation.
value1 = 22.00D;
value2 = 7.00D;
result = client.Divide(value1, value2);
Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result);
//Step 3: Closing the client gracefully closes the connection and cleans up resources.
client.Close();
Console.WriteLine();
Console.WriteLine("Press <ENTER> to terminate client.");
Console.ReadLine();
}
}
}
确保在尝试使用客户端之前服务正在运行。
WCF是不是太简单了呢。当然,有关优化和配置和复杂的部分,后面也提高,不过现在应该很开心了吧