DataMember IsRequired属性
1.简介
在数据契约中,如果需要序列化时,则需要传入指定IsRequired属性:
|
摘要: 获取或设置一个值,该值用于指示序列化引擎在读取或反序列化时成员必须存在。
public |
如:消息发送代码
- [DataContract]
- public
class MessageSendReturnDto - {
- [DataMember(IsRequired = true)]
- public
int ID { get; set; } - [DataMember(IsRequired = true)]
- public MessageSendStatus Status { get; set; }
- [DataMember(IsRequired = true)]
- public MessageSendType ReturnType { get; set; }
- [DataMember(IsRequired = true)]
- public DateTime SendDateTime { get; set; }
- [DataMember(IsRequired = true)]
- public
int SendTimes { get; set; } - [DataMember]
- public
string ErrorMessage { get; set; } - }
2.什么时候会用到序列化?(时机)
2.1显示地调用XML的序列化
- var xml = XmlHelper.SerializeXml<List<MessageSendReturnDto>>(messageSendReturnDtos.ToList());
2.2添加Web引用时对象传输
在调用WCF时,添加Web引用,当做一个WebService使用时,就需要指定非string类型为IsRequired,因为WS的传输是基于SOAP,使用XML方式。

生成的代码表明继承自WebService
- public partial class 某某某Service : System.Web.Services.Protocols.SoapHttpClientProtocol
事实上,在WebService中用实体传输的话,需要打上[Serializable]的标记。
DataMember IsRequired属性的更多相关文章
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
- jQuery调用WCF服务传递JSON对象
下面这个示例使用了WCF去创建一个服务端口从而能够被ASP.Net页面通过jQuery的AJAX方法访问,我们将在客户端使用Ajax技术来 与WCF服务进行通信.这里我们仅使用jQuery去连接Web ...
- WCF入门 (13)
前言 公司略无聊,周三前同事推荐跳槽,于是会去更新了一下简历,突然发现,快一年了,我竟然想不出我可以往简历上添加点什么值得自豪的东西.下午和小伙伴聊了一会天,他告诉我,可以往简历上写上“英语口语水平有 ...
- WCF入门(12)
前言 上次写是小半年前的事情了,还在原来的公司,还在原来的项目,同时认识了不少人.外包公司总是有些不适应的地方,总在很闲和很忙之间徘徊.凌晨2点被客户电话叫醒,只为copy一个文件从一台服务器到另一台 ...
- 从开发的角度比较 ASP.NET Web 服务与 WCF
Windows Communication Foundation (WCF) 具有一个 ASP.NET 兼容模式选项,用户使用此选项可以对 WCF 应用程序进行编程和配置,使其像 ASP.NET We ...
- WCF学习心得------(六)数据协定
--前言 最近各种事忙的把之前的WCF学习给耽误了一些,今天抽时间把之前的学习内容给总结了一下,因为知识点比较细碎没有做太多的练习示例,只是对其中关键的知识点做了总结,希望可以对大家有所帮助. 第六章 ...
- WCF z
终结点与服务寄宿 由于最近可能要使用WCF做开发,开始重读蒋金楠的<WCF全面解析>,并整理个人学习WCF的笔记. 蒋金楠的书是我的第一本WCF入门书,虽说硬着头皮啃下来了,但是原理内容太 ...
- WCF技术剖析之十六:数据契约的等效性和版本控制
原文:WCF技术剖析之十六:数据契约的等效性和版本控制 数据契约是对用于交换的数据结构的描述,是数据序列化和反序列化的依据.在一个WCF应用中,客户端和服务端必须通过等效的数据契约方能进行有效的数据交 ...
- .Net使用JsonSchema验证Json
最近项目中遇到了这样的需求,需要对上传的Json进行验证,以确保Json数据的准确性.前后使用了两种方式来验证: (1)第一种方式的实现思想:根据Json数据的格式,严格定义相应的类结构,并在Syst ...
随机推荐
- Android 源码编译错误
参考文章:http://blog.csdn.net/brightming/article/details/49763515/ Building with Jack: out/target/common ...
- RAID阵列的初始化与管理
如果我们创建RAID阵列的目的是新部署一台服务器,我们建议所有新创建的RAID阵列都应该做初始化操作,这样,硬盘上原有的用户数据将被清除,以便进行后续的系统,软件安装. 转自: http://zh.c ...
- 如何实现SSH断开后 进程仍然在后台运行
1.nohup命令功能:不挂断地运行命令,忽略HUP信号.语法:nohup command & 实例:nohup ping www.google.com & 转自: http://bl ...
- UESTC 1215 (思维题 旋转)
Secrete Master Plan Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Othe ...
- [Android Pro] Android Support 包里究竟有什么
reference to : http://www.2cto.com/kf/201411/350928.html 随着 Android 5.0 Lollipop 的发布,Android 又为我们提供了 ...
- Android涉及到的设计模式
转载地址:http://blog.csdn.net/dengshengjin2234/article/details/8502097 1.适配器模式:ListView或GridView的Adapter ...
- Win10手动添加开始磁铁
1.移动到C:\Users\spring\AppData\Roaming\Microsoft\Windows\Start Menu\Programs 2.拖拽
- 【读书笔记】读《JavaScript设计模式》之桥接模式
桥接模式(Bridge)将抽象部分与它的实现部分分离,使它们都可以独立地变化. 一.使用场景 使用场景一:事件监控 对于前端而言,最典型的使用场景——事件监控.如—— addEvent(element ...
- NSOperation基本使用
NSOperation简单介绍 a. 是OC语言中基于GCD的面向对象的封装 b. 使用起来比GCD更加简单(面向对象) c. 提供了一些用GCD不好实现的功能 d. 苹果推荐使用,使用NSOper ...
- hadoop之快照
在hadoop第前几个版本中是没有快照功能的,2.x中是有这个特性的 Hadoop 2.x HDFS新特性 HDFS快照 HDFS快照 在2.x终于实现了快照 设置一个目录为可快照 ...