原文:WCF技术剖析之十三:序列化过程中的已知类型(Known Type) [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制的节目视频(苏州话)]]DataContractSerializer承载着所有数据契约对象的序列化和反序列化操作.在上面一篇文章(<数据契约(Data Contract)和数据契约序列化器(DataContractSerializer)>)中,我们谈到DataContractSerializer基本的序列化规则:如何…
WCF下的序列化与反序列化解决的是数据在两种状态之间的相互转化:托管类型对象和XML.由于类型定义了对象的数据结构,所以无论对于序列化还是反序列化,都必须事先确定对象的类型.如果被序列化对象或者被反序列化生成的对象包含不可知的类型,序列化或者反序列化将会失败.为了确保DataContractSerializer的正常序列化和反序列化,我们需要将“未知”类型加入DataContractSerializer“已知”类型列表中. 一.未知类型导致序列化失败 .NET的类型可以分为两种:声明类型和真实类…
.服务契约的定义 /* Copyright (c) 2014 HaiHui Software Co., Ltd. All rights reserved * * Create by huanglc@holworth.com at 2014-10-14 10:09:00 * */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceMode…
数据协定继承 已知类型和泛型解析程序 Juval Lowy 下载代码示例 自首次发布以来,Windows Communication Foundation (WCF) 开发人员便必须处理数据协定继承方面的麻烦(一个称为“已知类型”的问题). 在本文中,我首先说明这个问题的来源,讨论 Microsoft .NET Framework 3.0 和 .NET Framework 4 中的可用缓解方法,然后演示我用来完全解决这个问题的方法. 除此之外,还会介绍一些高级 WCF 编程技术. 按值与 按引用…
知道了 csproj 文件中的一些常用 NuGet 属性,创建 NuGet 包时就可以充分发挥新 Sdk 自动生成 NuGet 包的优势,不需要 nuspec 文件啦.(毕竟 nuspec 文件没有 .csproj 和 .targets 文件强大而又有扩展性.) “项目文件中的已知属性系列”分为两个部分: 项目文件中的已知属性(知道了这些,就不会随便在 csproj 中写死常量啦) - 吕毅 本文:项目文件中的已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec…
using Bll; using System; using System.CodeDom; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.Serialization; using System.ServiceModel…
已知类型(Known types)允许在服务契约中使用多态的行为,在服务操作中暴露基本类型.将已知类型(known types)相关到基本类型(基类类型)自身;特定操作;整个服务契约采用属性声明或者配置的方式来实现 1.[KnownType]: 相关到基本类型(基类类型)自身 [DataContract(Namespace ="htttp://www.cnblogs.com/Charlesliu")] [KnownType(typeof(GigInfo))] [KnownType(ty…
package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印(包括所有子文件夹的文件).*/ public class kuaozhan1 { public static void main(String[] args) { File dir = new File("c:/"); if(!dir.exists()) { throw…
昨天,上司问我:..,你会在Excel中计算年龄吗?当时,一下促住了.说真的,还真不会.今天研究了一下,写下来,方便日后查看. 首先,得有一张已知姓名和相应身份证号的原表吧. 在这张表上再加上三列:出生年份.现在年份.年龄 现在年份当然是2017啦,这个很好解决.那么出生年份呢?可以很清楚的知道,在身份证上,从第7位开始之后4位是出生年份,所以来第一个函数:=MID(B2,7,4) 可以得到: 下拉一下,所有的出身年份就都出来了 现在计算年龄,来一个很简单的公式:=D2-C2 enter后下拉一…
WCF中传输的数据不想传统的面向对象编程,它只传递了一些对象的属性,但是自身并不知道自己属于什么对象,所以,他没有子类和父类的概念,因而也就没有Is-a的关系,所以在WCF中,如果想维持这种继承关系,就需要做一些特殊的处理了. 假设有如下定义, namespace KnownTypeExampleInterface{    [DataContract]    public class Employee    {        [DataMember]        public string N…