DataMember IsRequired属性】的更多相关文章

    1.简介 在数据契约中,如果需要序列化时,则需要传入指定IsRequired属性:   摘要: 获取或设置一个值,该值用于指示序列化引擎在读取或反序列化时成员必须存在.   public bool IsRequired { get; set; }   如:消息发送代码 [DataContract] public class MessageSendReturnDto {     [DataMember(IsRequired = true)]     public int ID { get;…
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所有这些客户端的需求,实现前后端的分离,一种最常见的做法是,编写WebService API来为以上客户端提供数据.近年来越来越多的企业或者网站支持Restfull方式的WebService,比如当当网开源Dubbox,扩展Dubbo服务框架支持REST风格远程调用,这个是Java版本的,在.NET中…
下面这个示例使用了WCF去创建一个服务端口从而能够被ASP.Net页面通过jQuery的AJAX方法访问,我们将在客户端使用Ajax技术来 与WCF服务进行通信.这里我们仅使用jQuery去连接Web Service,而不去使用ASP.Net AJAX库,至于为什么不使用AJAX库中,那是因为我们在项目中已经使用了jQuery,而它已经能处理全部的AJAX请求和所有功能,并且,如果我们 一旦使用ASP.NET AJAX库,我们也必须多包含一个超过80Kb的数据量(调试模式下会更大),但这也不是说…
前言 公司略无聊,周三前同事推荐跳槽,于是会去更新了一下简历,突然发现,快一年了,我竟然想不出我可以往简历上添加点什么值得自豪的东西.下午和小伙伴聊了一会天,他告诉我,可以往简历上写上“英语口语水平有提高”,惭愧... 希望自己跳槽成功. 言归正传,几天第13集. 第13集 ExtensionDataObject in WCF WCF里的ExtensionDataObject 这集讲的是WCF里面的ExtenstionDataObject. 简单来说, ExtenstionDataObject用…
前言 上次写是小半年前的事情了,还在原来的公司,还在原来的项目,同时认识了不少人.外包公司总是有些不适应的地方,总在很闲和很忙之间徘徊.凌晨2点被客户电话叫醒,只为copy一个文件从一台服务器到另一台服务器,虽然那时候我才刚睡下.似乎好想吐槽……罢了. 项目中有个http转https的需求还是印象深刻的.首先是证书的问题,通过看作者的asp.net的视频了解到IIS有Self-Signed Certificate 的东西可以用来方便的在IIS上部署需要https访问的站点而不需要去其他地方申请.…
Windows Communication Foundation (WCF) 具有一个 ASP.NET 兼容模式选项,用户使用此选项可以对 WCF 应用程序进行编程和配置,使其像 ASP.NET Web 服务一样,并且还可以模仿这些服务的行为.以下各部分基于使用这两种技术开发应用程序的要求来比较 ASP.NET Web 服务和 WCF. 数据表示形式 一般情况下,使用 ASP.NET 开发 Web 服务首先要定义服务要使用的任意复杂数据类型.ASP.NET 依赖于 XmlSerializer 将…
--前言 最近各种事忙的把之前的WCF学习给耽误了一些,今天抽时间把之前的学习内容给总结了一下,因为知识点比较细碎没有做太多的练习示例,只是对其中关键的知识点做了总结,希望可以对大家有所帮助. 第六章 数据协定 6.1 数据协定的概述 默认的情况下WCF使用称之为数据协定序列化程序的序列化引擎对数据进行序列化和反序列化,所有的.NET Framework基元类型,如整型.字符串型,以及某些被视为基元的类型,如DateTime.XmlElement不需要做其他工作就可以被序列化,并被视拥有默认的数…
终结点与服务寄宿 由于最近可能要使用WCF做开发,开始重读蒋金楠的<WCF全面解析>,并整理个人学习WCF的笔记. 蒋金楠的书是我的第一本WCF入门书,虽说硬着头皮啃下来了,但是原理内容太多太多,没有长期的经验是无法掌握的,而且这本书写得太过于偏重原理,并不是一本稍微看看就能速成并实现工作需求的书. 于是这篇文章的目的就是把原理和类结构分析给干掉(毕竟书上都有,我何必抄书?),把一些关键话语和配置方式摘出来,以便日后一旦遇到问题有个速查的手册,也相当于为这本书做了一个索引. 不过不得不说的是,…
原文:WCF技术剖析之十六:数据契约的等效性和版本控制 数据契约是对用于交换的数据结构的描述,是数据序列化和反序列化的依据.在一个WCF应用中,客户端和服务端必须通过等效的数据契约方能进行有效的数据交换.随着时间的推移,不可避免地,我们会面临着数据契约版本的变化,比如数据成员的添加和删除.成员名称或者命名空间的修正等,如何避免数据契约这种版本的变化对客户端现有程序造成影响,就是本节着重要讨论的问题. 一.数据契约的等效性 数据契约就是采用一种厂商中立.平台无关的形式(XSD)定义了数据的结构,而…
最近项目中遇到了这样的需求,需要对上传的Json进行验证,以确保Json数据的准确性.前后使用了两种方式来验证: (1)第一种方式的实现思想:根据Json数据的格式,严格定义相应的类结构,并在System.Runtime.Serialization命名空间下的DataContractAttribute.DataMemberAttribute对class和property进行标注,如果property是必须提供的,则在Property上添加[DataMember(IsRequired = true…
上一篇:WCF把书读薄(2)——消息交换.服务实例.会话与并发 十二.数据契约 在实际应用当中数据不可能仅仅是以int Add(int num1, int num2)这种简单的几个int的方式进行传输的,而是要封装成相对复杂的Request/Response对象,即用我们自定义的类来进行消息的传输,那么就需要一种规则来序列化/反序列化我们自己的对象成为某种标准格式.WCF可以通过数据契约来完成这一过程,WCF使用的序列化器是DataContractSerializer. 在一个类上打上DataC…
1, 面向对象的思想主要包括什么? 封装.继承.多态. TLW: 封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部. 继承:子类拥有父类的所有数据和操作. 多态:一个程序中同名的不同方法共存的情况. 封装:封装是面向对象的特征之一,是对象和类概念的主要特性.封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. 继承:继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下…
数据协定最重要的当然就是DataContract和DataMember.这两个特性能应用到类.结构和枚举.这个两个特性跟服务契约的特点是一样的,只有被DataContract标记的类和类中被标记DataMember的属性.字段和事件才能被wcf的序列化引擎进行序列化和反序列化. [DataContract] public class UserInfoModel { private int age; [DataMember] public int Age { get { return age; }…
背景今天在使用:C# Json 序列化与反序列化 反序列化的时候出现了以下的错误信息. System.Runtime.Serialization.SerializationException: 数据协定类型"TestEntity"无法反序列化,由于未找到必需的数据成员"multipleChoice, runTimeDisplayColumns". 在 System.ComponentModel.ReflectPropertyDescriptor.SetValue(O…
今天依据需求要从百度API中取出一些数据.这些操作包含:将坐标转换成百度坐标.依据转换的百度坐标进行特定的查询. 有需求的收藏下,免得下次手写浪费时间. 涉及到的操作有:JSON格式的字符解析.HTTP请求和获得请求数据.文件流的写入和读出等等. 奉上源码.共享: 首先是入口函数: static void Main(string[] args) { Console.WriteLine("坐标转换.信息查询開始......"); string oFile = "C:\\User…
先看一下VS2013自动创建默认的IService1.vb,注意自定义的数据契约 CompositeType ' 注意: 使用上下文菜单上的“重命名”命令可以同时更改代码和配置文件中的接口名“IService1”. <ServiceContract()> Public Interface IService1 <OperationContract()> Function GetData(ByVal value As Integer) As String <OperationCo…
WCF入门教程(二)从零做起-创建WCF服务 通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) 定义了协议,具体什么操作,操作的参数和返回值等信息 通过ServiceContract.OperationContract.DataContract.DataMember等属性参数,将服务.操作.数据结构定义清楚. 在这里我们还清晰看到,WCF服务传输数据类型不只是通用数据类型,而且还可以传输自定…
原文在此:http://www.codeproject.com/Articles/24656/A-Detailed-Data-Binding-Tutorial 完整译文在此:http://www.cnblogs.com/lichence/archive/2012/02/17/2356001.html 译不下去的笔记在此: System.Windows.Forms.BindingSource是2.0里边的一个新类.赶脚微软想用BindingSource取代以前的CurrencyManager和Bi…
在接口开发的过程中经常通过接口获取数据返回是json格式字符串. 但是返回的字符串可能比较复杂,可能不止一种类型的数据. 例如: { "resultCode": "0", "resultMsg": "查询成功!", "resultData": { "classinfo": [ { "classNo": "101", "className&…
第三章 对属性使用约定和配置 在第2章,对Code First的约定以及如何通过配置覆写默认约定行为进行了大致的介绍.学习了如何使用Data Annotations进行配置,也学习了如何使用Fluent API作出相同的配置,并对两者进行了对比. 在本章乃至以后几章里,将深入各种用于配置模型的领域.对每个主题会看到Code First如何通过默认规则进行工作,也会学到如何通过Data Annotations和Fluent API来覆写这些规则.前已指出,在Fluent API中可以实现的很多配置…
一: WCF的服务端与客户端在通信时有三种模式:请求响应模式.数据报模式和双工通讯模式. 说一下基本知识,  1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契约 2.要想将方法作为wcf服务方法发布给外部调用,则一定要加上    [OperationContract]契约 3.实体类作为wcf方法参数或者返回值的话,则要贴上 [DataContract] 4.只有贴上了[DataMember]的属性才能作为wcf服务器方法参数值类传递,否则第三方调用者看…
谨以此文感谢关注此系列文章的园友!前段时间本以为此系列文章已没多少人关注,而不打算继续下去了.因为文章贴出来之后,看的人似乎不多,也很少有人对这些文章发表评论,而且几乎无人给予“推荐”.但前几天有人询问为何很久没有更新,这让我感觉把这文章翻译出来还是有价值的.为此,本人打算将此工作继续下去.这些关于Web API的技术文章均由微软专业人员撰写,虽然文章作为博客帖子而写得比较简单,但如果仔细揣摩其内容,应当还是能够有不少收获的,也希望我的这些译文能够使那些对Web API有兴趣的园友从中得到一些收…
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web API中的JSON和XML格式化器. 在ASP.NET Web API中,媒体类型格式化器(Media-type Formatter)是一种能够做以下工作的对象: 从HTTP消息体读取CLR(公共语言运行时)对象 将CLR对象写入HTTP消息体 Web API提供了用于JSON和XML的媒体类…
问题1:什么叫Model元数据? Model元数据,是针对数据类型的一种描述信息.由于复杂类型(或者说类型嵌套的存在,比如CustomerModel中有一个属性为复杂类型Address)的存在,因此Model 元数据为树形结构: //namespace:System.Web.Mvc public class ModelMetadata { //其它成员 //当前模型类型 //倘若用数据库中树形结构解释,这个属性相当于Id public Type ModelType { get; set; } /…
通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) 定义了协议,具体什么操作,操作的参数和返回值等信息 通过ServiceContract.OperationContract.DataContract.DataMember等属性参数,将服务.操作.数据结构定义清楚. 在这里我们还清晰看到,WCF服务传输数据类型不只是通用数据类型,而且还可以传输自定义的复杂类型.哪些字段要进行传输,都可以通过D…
ASP.NET Web API中的JSON和XML序列化 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web API中的JSON和XML格式化器. 在ASP.NET Web API中,媒体类型格式化器(Media-type Formatter)是一种能够做以下工作的对象: 从HTTP消息体读取CLR(公共语言运行时)对象 将CLR对象写入HTT…
WCF/WPF公司内部订餐程序开发 (服务端篇) 上班的第一天,群里讨论关于订餐的问题,所以想到了要不要自己开发一个公司内部的订餐系统呢?方便公司内部员工的订餐,有了想法就简单的实践了下 . 实现还是很简单的,因为只是自己内部使用,所以没有考虑太多的因素.数据库选用的Ndatabase,之所以用到数据库其实开始的想法是希望添加一个自动推荐食物的功能的. 1. 新建一个类库工程QSnack.Contract(服务契约工程),结构: 我们定义了三个服务接口: 1) IUserService : 用户…
废话少说,先上代码C# memcache Demo memcache 是服务器缓存系统,以键值对方式保存数据到内存中,把对象序列化后,理论上可支持所有的数据类型. 使用情景:怎么用都可以,注意的是它只把数据保存到内存中,重启memcache 服务后丢失,如果要持久化,须要额外程序处理. 一般在web系统中用memcache 缓存常用的数据来缓解数据库查询压力和提高系统性能.它相当于数据库和程序间的中间件. memcache 早就如雷贯耳,想要用到系统中往往无从下手,下面就花一分钟时间把memca…
主要对props更多重要的特性进行学习; 还是用之前代码, index.js代码为: var React = require('react'); var ReactDOM = require('react-dom'); import ComponentHeader from './components/header'; import ComponentFooter from './components/footer.js'; import BodyIndex from './components…
memcache 是服务器缓存系统,以键值对方式保存数据到内存中,把对象序列化后,理论上可支持所有的数据类型.使用情景:怎么用都可以,注意的是它只把数据保存到内存中,重启memcache 服务后丢失,如果要持久化,须要额外程序处理.一般在web系统中用memcache 缓存常用的数据来缓解数据库查询压力和提高系统性能.它相当于数据库和程序间的中间件.memcache 早就如雷贯耳,想要用到系统中往往无从下手,下面就花一分钟时间把memcache 用起来: 快速入门(quick start) 服务…