WCF客户端怎么消费服务

获取服务绑定协议、绑定和地址:实现方式

SvcUtil方式:
SvcUtil.exe是一个命令行工具,位于:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
可以将SvcUtil.exe添加到VS中方便以后的运用

生成代理类:

svcutil net.tcp://192.168.0.100:3333/ChatService /language:C# /out:proxy.cs /config:app.config

  svcutil net.tcp://192.168.0.100:3333/ChatService /a /language:C# /out:proxy.cs /config:app.config

创建一个WCF客户端对象

WCF客户端是表示某个WCF服务的一个本地对象,客户端就是使用这种表示形式与远程服务端进行通信的。

WCF客户端类型可以实现目标服务协定,因此在创建一个服务协定并配置正确之后就可以使用这个客户端对象调用服务端的操作了。

WCF运行时将方法调用转换为消息,然后将这些消息发送到服务,侦听回复,并将这些回复的值作为返回值或者OUT/REF方式返回到WCF客户端对象中。

创建并配置了客户端对象之后,建议创建一个TRY/CATCH快,如果该对象是本地对象,则以常规方式调用操作,然后关闭WCF客户端对象。

当客户端应用程序调用第一个操作时,WCF将自动打开基础通道,并在回收对象时关闭基础通道。

禁止使用USING来调用WCF方法。

记得添加引用

调用操作

配置和保护客户端

服务协定的安全要求已经在服务接口中声明,并且如果Svcutil已经创建好一个配置文件,则该文件通常会包含一个能够支持服务安全要求的绑定。但是在一些情况下可能需要更多的安全配置,例如客户端的凭据就需要特别是定义了。

回调

为双工服务创建回调对象

双工服务指定一个回调协定,客户端应用程序必须实现该协定以便提供一个该服务能够根据协定要求调用的回调对象。

实现一个回调协定类。

创建回调协定实现类的一个实例,并使用这个实例创建传递给WCF客户端构造函数的InstanceContext对象。

调用操作并处理操作回调。

异步调用服务

如何调用服务端操作完全取决于客户端开发人员。这是因为当在托管代码中表示组成操作的消息时,这些消息可以映射到同步或者异步方法中。

因此,如果想要生成异步操作的客户端,只需要如前面所说增加一个/async参数即可

【WCF系列】(四)WCF客户端怎么消费服务的更多相关文章

  1. WCF系列教程之客户端异步调用服务

    本文参考自http://www.cnblogs.com/wangweimutou/p/4409227.html,纯属读书笔记,加深记忆 一.简介 在前面的随笔中,详细的介绍了WCF客户端服务的调用方法 ...

  2. 系列四TortoiseSvn客户端软件

    原文:系列四TortoiseSvn客户端软件 TortoiseSvn介绍 TortoiseSvn 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中 ...

  3. WCF系列_WCF影响客户端导出Excel文件的实现

    需求:WCF搭建服务端提供导出并下载Excel文件接口,客户端使用ajax发起请求,浏览器直接下载Excel文件. 难点:WCF中并没有HttpContext对象,因此,服务端总是获取不到HttpCo ...

  4. WCF入门四[WCF的通信模式]

    一.概述 WCF的通信模式有三种:请求/响应模式.单向模式和双工通信. 二.请求/响应模式 请求/响应模式就是WCF的默认模式,前面几篇随笔中的示例都是这种模式,当客户端发送请求后(非异步状态下),即 ...

  5. WCF系列 Restful WCF

    由于项目需要,需要完成移动端与服务端以json格式的数据交互,所以研究了Restful WCF相关内容,以实现ios端,android端与浏览器端能够与后台服务交互. 那么首先我们来了解下什么是Res ...

  6. cas sso单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析

    转:http://blog.csdn.net/ae6623/article/details/8848107 1)PPT流程图:ppt下载:http://pan.baidu.com/s/1o7KIlom ...

  7. SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析

    落雨 cas 单点登录 一.用户第一次访问web1应用. ps:上图少画了一条线,那一条线,应该再返回来一条,然后再到server端,画少了一步...谢谢提醒.而且,重定向肯定是从浏览器过去的.我写的 ...

  8. WCF开发实战系列四:使用Windows服务发布WCF服务

    WCF开发实战系列四:使用Windows服务发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇文章中我们通过编写的控制台程序或WinForm程序来为本 ...

  9. WCF编程系列(四)配置文件

    WCF编程系列(四)配置文件   .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...

随机推荐

  1. 【C语言编程练习】7.2动态数列排列

    1. 题目要求 编写这样一个C程序,实现这样的功能:从键盘输入任意个整数,以0作为结束标志,对于这个整数序列从小到大排序,并输出排序后结果 2. 题目分析 不得不说,我确实对这类问题毫无思路呢!应该也 ...

  2. 如何给小学生讲清楚ECC椭圆曲线加密

    对于RSA这套公私钥加密的思路,我以为我挺明白的,运用的娴熟自如. 当然现在RSA用的不多,而是基于ECC曲线来做签名验签,最大名鼎鼎的莫过于比特币. 可是前两天和别人讲代码,被问了ECC为什么可以用 ...

  3. FlowerVisor理解

    Ï来自FlowVisor: A Network Virtualization Layer这篇论文的理解 1. 简介 论文讲述如何虚拟化一个网络,并描述一个特殊的系——FlowVisor 网络虚拟化用来 ...

  4. 逛公园 [NOIP2017 D1T3] [记忆化搜索]

    Description 策策同学特别喜欢逛公园.公园可以看成一张N个点M条边构成的有向图,且没有自环和重边.其中1号点是公园的入口,N号点是公园的出口,每条边有一个非负权值,代表策策经过这条边所要花的 ...

  5. Pytorch多GPU训练

    Pytorch多GPU训练 临近放假, 服务器上的GPU好多空闲, 博主顺便研究了一下如何用多卡同时训练 原理 多卡训练的基本过程 首先把模型加载到一个主设备 把模型只读复制到多个设备 把大的batc ...

  6. Unknown return value type [java.lang.Boolean]] with root cause

    添加@responsebody 为什么呢 ? 因为在进行ajax传输的时候  我已指定传输的类型为 json数据类型 要是不加的话 它只是Boolean类型 而不是json类型

  7. koa2学习(二) 中间件router

    中间件 koa-router 安装 npm install --save koa-router 使用 const Koa = require('koa'); const Router = requir ...

  8. Lua学习链接

    Lua捕获 Lua中_G 是个什么鬼 Lua与ObjC的交互

  9. Android端IM应用中的@人功能实现:仿微博、QQ、微信,零入侵、高可扩展

    本文由“猫爸iYao”原创分享,感谢作者. 1.引言 最近有个需求:评论@人(没错,就是IM聊天或者微博APP里的@人功能),就像下图这样:   ▲ 微信群聊界面里的@人功能    ▲ QQ群聊界面里 ...

  10. [Swift]LeetCode481. 神奇字符串 | Magical String

    A magical string S consists of only '1' and '2' and obeys the following rules: The string S is magic ...