如何:使用 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是不是太简单了呢。当然,有关优化和配置和复杂的部分,后面也提高,不过现在应该很开心了吧

转载于:https://www.cnblogs.com/tomkillua/archive/2008/09/25/1298664.html

入门代码教程第六节 如何:使用客户端相关推荐

  1. 入门代码教程第一节 如何:定义服务协定

    使用接口创建 Windows Communication Foundation 协定 通过在"开始"菜单中右击"Visual Studio 2005"并选择&q ...

  2. html5游戏制作入门系列教程(六)

    我们继续这一系列文章,使用HTML5的canvas组件进行游戏开发.今天,我们将创建我们的第一个完整的游戏 – 打砖块.在这一课中,我会告诉你如何检测基本的碰撞和HTML5的本地存储.您可以使用鼠标和 ...

  3. C# SuperSocket 手把手教你入门 傻瓜教程---3(Telnet服务器和客户端请求处理)

    C# SuperSocket 手把手教你入门 傻瓜教程系列教程 C# SuperSocket 手把手教你入门 傻瓜教程---1(服务器单向接收客户端发送数据) C# SuperSocket 手把手教你 ...

  4. C# SuperSocket 手把手教你入门 傻瓜教程---1(服务器单向接收客户端发送数据)

    C# SuperSocket 手把手教你入门 傻瓜教程系列教程 C# SuperSocket 手把手教你入门 傻瓜教程---1(服务器单向接收客户端发送数据) C# SuperSocket 手把手教你 ...

  5. Cairngorm初学者入门教程 第六节--Cairngorm中Command利用Delegate与Service连接

    在上一节,我们利用FrontController 去映射 Event与Command 在这一节我们主要针对Command这部分动作做介紹.在RIA应用程序中,不可或缺的部份就是跟后台服务器连接进行数据 ...

  6. 入门代码教程第二节 如何:实现服务协定

    如何:实现 Windows Communication Foundation 服务协定 实现 WCF 服务协定 创建一个新 CalculatorService 类,该类从用户定义的 ICalculat ...

  7. Scala入门到精通——第六节:类和对象(一)

    本节主要内容 1 类定义.创建对象 2 主构造器 3 辅助构造器 类定义.创建对象 //采用关键字class定义 class Person {//类成员必须初始化,否则会报错//这里定义的是一个公有成 ...

  8. Angular最新教程-第六节编写响应式导航栏

    这节课我们讲解如何使用bootstrap 4 编写响应式布局. 参考图我们还是参照Angular中文社区http://www.angularjs.cn/ 图中标注红色的部分,我自己不是很喜欢,所以做了 ...

  9. BAT教程 :第六节(if命令讲解)

    最近发现有些朋友一老问IF命令的用法,IF命令个人觉得很简单,所以就一直没把发放到新手教学贴里说,现在我给补上一文,希望对各位"非常BAT的"新手朋友们有所帮助. 现在开始: 在C ...

最新文章

  1. K-means++算法的学习笔记~
  2. win10 1909更新后无法上网三种解决方法
  3. JavaScript中Write和Writeln的区别
  4. 【转】Mac端包管理工具——Homebrew简介及安装
  5. 米家扫地机器人怎么加水_时隔两年半终于更新 贵了500元的小米米家扫地机器人1S值得买吗?...
  6. 计算机科学导论第四版ppt,计算机科学导论课件.ppt
  7. 三角形和矩形傅里叶变换_第3章傅立叶变换.doc
  8. Java 下数据业务逻辑开发技术 JOOQ 和 SPL
  9. jacob操作API
  10. 虚拟化技术 - 概览 [一]
  11. 1.GoAhead运行
  12. 互联网摸鱼日报(2023-04-30)
  13. 事后控制不如事中控制,事中控制不如事前控制
  14. echarts:从github及其镜像下载china.js和china.json
  15. 快速排序-单边循环代码解析
  16. 数据整理与命令行环境
  17. JWT-RS256非对称加密NET CORE(一)
  18. 微信分享好友,朋友圈
  19. 斗地主开篇-啰嗦篇(一)
  20. Method breakpoints may dramatically slow down debugging项目启动特别慢的情况

热门文章

  1. html新一代网页播放器源码 未加密
  2. js 为表格增加行 动态
  3. Node.js:入门资料
  4. 什么是MARC数据?
  5. Ethercat解析(十四)之初始化流程
  6. linux实现自动远程备份(scp+ssh)
  7. 《剑指Offer》 不用加减乘除做加法
  8. 【今日CV 计算机视觉论文速览】Thu, 7 Mar 2019
  9. 关于封装 c# 115691143
  10. 包装类 java 1615210339