zoukankan      html  css  js  c++  java
  • WCF入门(8)

    前言

    昨天买的usb无线路由到了,笔记本又可以愉快的上网了。

    下午去办市民卡,被告知说“本人医保现在停保,要等继续缴才行”,白公交坐了那么远的路。

    需要视频的进群,378190436。

    第八集 Different ways of associating known types in wcf (WCF中不同的Know Types 之间的相互关系)

     今天第八集,比较简单,讲的WCF中的几种不同的KnowType Attribute。总共有四种。

    这是第一种,用在父类上面,这种是全局的,也就是说任何调用Employee的地方都知道Employee有FullTime 和 PartTime两个子类。

        [KnownType(typeof(FullTimeEmployee))]
        [KnownType(typeof(PartTimeEmployee))]
        [DataContract]
        public class Employee
        {
            [DataMember(Order = 1)]
            public int Id { get; set; }
            [DataMember(Order = 2)]
            public String Name { get; set; }
            [DataMember(Order = 3)]
            public bool Gender { get; set; }
            [DataMember(Order = 4)]
            public DateTime DateOfBirth { get; set; }
            [DataMember(Order = 5)]
            public EmployeeType EmployeeType { get; set; }
        }
    View Code

    这是第二种,用来修饰ServiceContract,他是针对当前的ServiceContract,也就是说假如还有其他的服务,如果没有特殊特别指定,是不晓得Employee的子类的。

     1     [ServiceKnownType(typeof(PartTimeEmployee))]
     2     [ServiceKnownType(typeof(FullTimeEmployee))]
     3     [ServiceContract]
     4     public interface IEmployeeService
     5     {
     6         [OperationContract]
     7         Employee GetEmployee(int id);
     8         [OperationContract]
     9         void SaveEmployee(Employee emp);
    10     }
    View Code

    还是这种,但他用来可以用来修饰OperationContract,当用来修改Operation的时候,他只对当前Operation有效,也就是说Get方法知道两个子类,而Save方法不知道。

    1     public interface IEmployeeService
    2     {
    3         [ServiceKnownType(typeof(FullTimeEmployee))]
    4         [ServiceKnownType(typeof(PartTimeEmployee))]
    5         [OperationContract]
    6         Employee GetEmployee(int id);
    7         [OperationContract]
    8         void SaveEmployee(Employee emp);
    9     }
    View Code
    • 配置文件

    最后一种是写配置文件的。效果和定义在父类上是一样的,都是Global。就不写了,有兴趣的可以看视频。第八集很简单。

    ThankYou!

  • 相关阅读:
    使用GDI+将24位真彩色图像转换为8位灰度图像
    Disable SIP automatic popup
    [转]"分析 EntityName 时出错"的解决方案
    PHP中文件读写操作
    VC6 combobox使用
    [转]WinCE下消息队列用法
    Java8 stream处理List,Map总结
    【工具】cephbluestoretool
    读的
    【osd | 运维】pg相关命令
  • 原文地址:https://www.cnblogs.com/sheldon-lou/p/4248985.html
Copyright © 2011-2022 走看看