wcf可以返回的类型有哪些
Windows Communication Foundation (WCF) 使用 DataContractSerializer 作为其默认的序列化引擎以将数据转换到 XML 并将 XML 转换回数据。DataContractSerializer 是专为序列化数据协定类型而设计的。但是,它支持许多其他可视为具有隐式数据协定的类型。
以下是可以序列化的类型:
1、 具有不带参数的构造函数的所有公开可见类型。
2、 数据协定类型。这些是已应用了 DataContractAttribute 属性的类型。表示业务对象的新自定义类型通常应作为数据协定类型创建。有关更多信息,请参见 使用数据协定和可序列化类型。
3、 集合类型。这些是表示数据列表的类型。这些类型可以是常规的类型数组或集合类型,例如 ArrayList 和 Dictionary。CollectionDataContractAttribute 属性可以用于自定义这些类型的序列化,但不是必需的。有关更多信息,请参见 数据协定中的集合类型。
4、 枚举类型。枚举(包括标志枚举)是可序列化的。或者,可以使用 DataContractAttribute 属性对枚举类型进行标记,在这种情况下,必须使用EnumMemberAttribute 属性对参与序列化的每个成员进行标记。不序列化未标记的成员。有关更多信息,请参见 数据协定中的枚举类型。
5、.NET Framework 基元类型。集成到 .NET Framework 中的下列类型都可以进行序列化,并可视为基元类型:Byte、SByte、Int16、Int32、Int64、UInt16、UInt32、UInt64、Single、Double、Boolean、Char、Decimal、Object 和 String。
6、 其他基元类型。这些类型不是 .NET Framework 中的基元,但可作为采用序列化的 XML 形式的基元。这些类型有DateTime、DateTimeOffset、TimeSpan、Guid、Uri、XmlQualifiedName 和 Byte 数组。 注意:与其他基元类型不同,DateTimeOffset 默认情况下不是已知类型。(有关更多信息,请参见 数据协定已知类型)。
7、 使用 SerializableAttribute 属性标记的类型。.NET Framework 基类库中包含的许多类型都属于此类别。DataContractSerializer 完全支持由 .NET Framework 远程处理、BinaryFormatter 和 SoapFormatter 使用的此序列化编程模型,包括支持 ISerializable 接口。
8、表示原始 XML 的类型或表示 ADO.NET 关系数据的类型。支持 XmlElement 和 XmlNode 类型的数组作为一种直接表示 XML 的方式。另外,支持实现IXmlSerializable 接口的类型,包括相关的 XmlSchemaProviderAttribute 属性、XDocument 和 XElement 类型。ADO.NET DataTable 类型和 DataSet类型(以及其类型化的派生类)都实现 IXmlSerializable 接口,因此可归入此类别。有关更多信息,请参见 数据协定中的 XML 和 ADO.NET 类型。
wcf可以返回的类型有哪些的更多相关文章
- 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据
有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这 ...
- WCF分布式开发步步为赢(9):WCF服务实例激活类型编程与开发
.Net Remoting的激活方式也有三种:SingleTon模式.SingleCall模式.客户端激活方式,WCF服务实例激活类型包括三种方式:单调服务(Call Service),会话服务(Se ...
- C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解 ...
- mybatis配置-返回date类型丢失时间
此博客仅作于平时开发所遇到的问题记录,不做他用,描述可能不好,自己看懂即可~~ resultMap配置返回时间类型时,发现数据库时间是精确到秒的,但是返回给javabean之后丢失时分秒的信息,只有日 ...
- ajaxpro返回值类型总结-DataTable(转)
ajaxpro使用总结系列其他内容 ajaxpro ajaxmethod 重载调用问题 ajaxpro方法ajaxmethod调用示例 ajaxpro返回值类型总结-string,int ajaxpr ...
- PKG_COLLECTION_LHR 存储过程或函数返回集合类型
存储过程或函数可以返回集合类型,方法很多,今天整理在一个包中,其它情况可照猫画虎. CREATE OR REPLACE PACKAGE PKG_COLLECTION_LHR AUTHID CURREN ...
- LINQ查询返回DataTable类型
个人感觉Linq实用灵活性很大,参考一篇大牛的文章LINQ查询返回DataTable类型 http://xuzhihong1987.blog.163.com/blog/static/267315872 ...
- Struts2+Jquery实现ajax并返回json类型数据
来源于:http://my.oschina.net/simpleton/blog/139212 摘要 主要实现步骤如下: 1.JSP页面使用脚本代码执行ajax请求 2.Action中查询出需要返回的 ...
- MyBatis的返回参数类型和查询结果遍历
MyBatis的返回参数类型分两种 1. 对应的分类为: 1.1.resultMap: 1.2.resultType: 2 .对应返回值类型: 2.1.resultMap:结果集 2.2.result ...
随机推荐
- Linux设备驱动程序 之 内核符号表
insmod使用公共内核符号表来解析模块中未定义的符号.功能内核符号表中包含了所有全局内核项(函数和变量)的地址,这是实现模块化驱动程序所必须的.当模块装载到内核后,它所导出的任何符号都会变成内核符号 ...
- HTTP之简析
1. 简介 HTTP 协议是 Hyper Text Transfer Protocol(超文本传传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议.HTTP 通常架构在 TCP 传 ...
- 【软件工程】Alpha冲刺(4/6)
链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 学习调用中国天气网API,接近实现天气推送功能 对天气推送的形式进行讨论及重确 ...
- CodeIgniter安装和入门使用(一)
CodeIgniter是个轻量级功能也强大的框架,适合做自己做小项目用,本文介绍CodeIgniter的安装和使用.安装 官网链接http://codeigniter.org.cn/user_guid ...
- 可插拔式后台管理系统(Django)
1.实现效果 研究了下django admin的功能,自己实现了一个简单的可插拔式后台管理系统,方便自定义特殊的功能,而且作为一个独立单独的django app,可以整体拷贝到其他项目中作为后台数据管 ...
- Java堆大小[z]
JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制. 32位系统下,一般限制在1.5G~2G:64为操作系统对内存 ...
- python之scrapy的FormRequest模拟POST表单自动登陆
1.FormRequest表单实现自动登陆 # -*- coding: utf-8 -*- import scrapy import re class GithubSpider(scrapy.Spid ...
- spring cloud consul上下线体验
spring cloud consul中默认会将spring.application.name作为ID 同一服务起多个实例时,ID默认会变成${spring.application.name}-${s ...
- vlc的流输出功能
vlc的流输出功能 流输出功能,可以将vlc读取到的流,输出到文件或者通过网络发送,客户端可以使用http.rtp.rtsp等协议访问,还可以进行转码等操作. 参考http://wiki.videol ...
- 用python实现简单EXCEL数据统计的实例
用python实现简单EXCEL数据统计的实例 下面小编就为大家带来一篇用python实现简单EXCEL数据统计的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 任 ...