前言

前段时间忙着驾照科目二的考试,都没有机会碰自己的电脑。说起来也是第一次参加这么没信心的考试,不过好在过了。

再打个广告吧,昨天终于把下载的WCF视频全部传到了QQ群共享里面,群号378190436,有需要的可以进群下载,现在里面就2个人。大家一起学习。

外加这些天VPN挂了,笔记本对新地方的无线网络不太适应,信号时好时坏,就买了个无线网卡,为了凑单,免去5块钱的运费,就又买了本书,(http://item.jd.com/10663704.html)。无线网卡以后给台式机也可以用。

入职了新公司,完全不适应啊。。。。

第七集 KnowType attribute in WCF(WCF的KnowType 特性)

上一集通过介绍DataContract 和 DataMember 特性实现了一个基本的查询+新增Employee的Demo,用的实体类是Employee,现在我们来扩展一下。

上图说明问题:

假设有2种特定类型的Employee ,分别是FullTimeEmployee和PartTimeEmployee,全职员工和临时工。Get和Save都要针对特定的Employee。

再来看看我们的IEmployeeService:

GetEmployee方法返回的是Employee父类型的实例,SaveEmployee接收的是Employee类型参数的示例,也就是说,如果没有给Employee标记KnowTypeAttribute,客户端是不知道Employee是有子类的,即客户端无法new 出一个PartTimeEmployee实例。确实,ServiceContract是WCF服务和客户端交流的契约,如果契约里面没有引用,外界就没有调用的理由。哪怕是给PartTimeEmployee加上了DataContract 特性。具体可以通过本地运行服务然后访问http://localhost:8080/?xsd=xsd2地址来查看

图中只看到一个ComplexType的Employee和一个simpleType 的EmployeeType(枚举)。再来看看给Employee加上KnowTypeAttribute之后的效果:

四个类型都有了。客户端就可以根据EmployeeType 的值来实例化特定的Employee了。

视频本身比较长,但是剩下的和WCF本身没有关系,是一些WebForm的东西,就不写出来了。有兴趣的自己进群看吧。

初学者,有说错的地方,不吝指正。ThankYou!!!

WCF入门(7)的更多相关文章

  1. 学习WCF入门的第一个实例

    一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...

  2. WCF入门教程(五)配置文件

    WCF入门教程(五)配置文件 服务协定以及实现写好后,需要将相关服务公布出去,就需要HOST来承载,供客户端来调用. 承载服务有两种方式,一种通过配置文件,一种通过代码进行配置.上一章已经介绍了代码方 ...

  3. WCF入门教程(四)通过Host代码方式来承载服务

    WCF入门教程(四)通过Host代码方式来承载服务 之前已经讲过WCF对外发布服务的具体方式. WCF入门教程(一)简介 Host承载,可以是web,也可以是控制台程序等等.比WebService有更 ...

  4. WCF入门教程(三)定义服务协定--属性标签

    WCF入门教程(三)定义服务协定--属性标签 属性标签,成为定义协议的主要方式.先将最简单的标签进行简单介绍,以了解他们的功能以及使用规则. 服务协定标识,标识哪些接口是服务协定,哪些操作时服务协定的 ...

  5. WCF入门教程(二)如何创建WCF服务

    WCF入门教程(二)从零做起-创建WCF服务 通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) ...

  6. WCF入门教程(一)简介

    WCF入门教程(一)简介 1.WCF是什么? WCF( Windows Communication Foundation), 是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NE ...

  7. [WCF编程]1.WCF入门示例

    一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...

  8. 无废话WCF入门教程六[一个简单的Demo]

    一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...

  9. WCF 入门(25,26,27,28)

    前言 项目赶时间,工期紧,熬过这段时间应该就好了吧.希望如此. 今天把自己那部分写的差不多了,回来和小伙伴一起又看了一遍<夏洛特烦恼>,还挺好看的,明天继续加班,do it. 第25-28 ...

  10. WCF入门(22)

    前言 本还想写一集WCF入门教程的,心情实在不好,明天又还有面试,改天再写吧. 说一下今天遇到的入职坑.面试能坑,上班能坑,完全没想到入职也能坑.切身经历. 今年10月份想换工作,更新了一下简历,接到 ...

随机推荐

  1. JS键盘事件监听

    window.onload=function(){ var keyword = document.getElementById("keyword"); keyword.onkeyu ...

  2. 【开学季】自学嵌入式开发|四核开发板|4412开发板|ARM+Android+linux技术

    淘宝店铺:迅为开发板http://arm-board.taobao.com 网站:http://www.topeetboard.com QQ咨询:2551456065 电话咨询:010-5895758 ...

  3. Shell basic1

    A shell script is a text file that typically begins with a shebang, as follows: #!/bin/bash /bin/bas ...

  4. matlab生成HEX文件-任意信号 大于64K长度

    HEX文件格式不赘述,写里直接放上代码.请批评改正. %%convert a signal data into hex file format % data format:16bit % signal ...

  5. opencv3.1 + opencv_contrib编译记事(win7下)

    折腾了好几天,终于把opencv3.1加上一个额外的包opencv_contrib编译好了.(总体来说编译opencv就是填坑!!!) 最后我编译成功的是mingw版本的.也就是结合了Qt4.7+cm ...

  6. 小白有问题-下雨天给linux装adobe flash player更配

    上班出门还没下雨天气闷热,现在的外面下的却是倾盆大雨.还好出门带了伞,内心还是快乐的. 上班我们都是用的Debian系统,平时没事上上网偶尔会遇到提示没安装flash的问题,正好现在没啥事,就打算把它 ...

  7. 在springmvc中使用hibernate-validate

    在springmvc.xml中加入 <!-- 国际化配置 --> <bean id="localeResolver" class="org.spring ...

  8. C++ 箭头-> 双冒号:: 点号.操作符区别

    点 (.) 如果变量是一个对象或者对象引用,则用它来访问对象成员. 箭头( ->) 如果变量是一个对象指针,则用它来访问对象成员. 双冒号 (::) 如果操作目标是一个具有名空间的标识符,则用它 ...

  9. 一个完整的JENKINS下的ANT BUILD.XML文件

    网上看见的,确实很全,该有的基本都覆盖到了.自己拿来稍微改改就可以用了. 注:property中的value是你自己的一些本地变量.需要改成自己的 <?xml version="1.0 ...

  10. JMeter学习(三十一)Access Log Sampler

    前提: 在tomcat\conf\server.xml默认情况下,会有一段代码: <Valve className="org.apache.catalina.valves.Access ...