Web 服务所支持的数据类型

 
所有编程语言都指定了各种数据类型来存储不同类型的数据。各种编程语言的简单数据类型(即基元数据类型)都非常相似。但是,也存在细微的差别,这些差别使语言间无法直接映射。这些差别为创建任何客户端应用程序都可以访问的 Web 服务提出了挑战。
为确保最广泛的影响范围,Web 服务支持基元数据类型分类,可以使用 XML 对这些数据类型进行编码和序列化。
下表显示了 Web 服务支持的基元数据类型(这些数据类型是 XML 架构定义 (XSD) 语言第二部分中概述的数据类型)以及 C++ 和公共语言运行库中的等效数据类型。
­
XML 架构定义语言             C++                 公共语言运行库
base64Binary                                     Byte[]
boolean                     bool                 Boolean
byte                    char、__int8             SByte
double                     double                Double
dateTime                                         DateTime
decimal                                          Decimal
float                      float                 Single
int                  int、long、__int32          Int32
long                      __int64                Int64
QName
XmlQualifiedName
short                  short、__int16            Int16
string                     BSTR                  String
time                                             DateTime
unsignedByte           unsigned __int8           Byte
unsignedInt            unsigned __int32          UInt32
unsignedLong           unsigned __int64          UInt64
unsignedShort          unsigned __int16          UInt16
基元和枚举的数组
以上类型的数组
有关从公共语言运行库数据类型转换到其他语言(如 C# 和 Visual Basic .NET)数据类型的信息,请参见 .NET Framework 类库。
可用的数据类型取决于 Web 服务所使用的协议。例如,HTTP-GET 和 HTTP-POST 协议都限于名称/值对。但是,SOAP 允许更丰富地使用 XML,以对复杂数据结构(例如类)进行编码和序列化。
下表显示了 HTTP-GET 和 HTTP-POST 支持的类型。
­
类型 说明 基元类型(有限)
以下基元类型已转换为字符串表示形式的名称/值对:Boolean、Currency、DateTime、Decimal、Double、Int16、Int32、Int64、Single、String、UInt16、Uint32 和 UInt64。
枚举类型
从客户端的角度来看,枚举类型变为每个值都有一个静态常量字符串字段的类。
基元和枚举的数组
以上类型的数组。
当使用 SOAP 协议时,Web 服务支持的数据类型与可以序列化为 XML 的数据类型直接相关。ASP.NET 使用 XmlSerializer 类进行 XML 序列化和反序列化。有关 XmlSerializer 所支持类型的详细信息,请参见介绍 XML 序列化。
除上表中列出的基元类型外,使用 SOAP 协议的 Web 服务还支持下列附加的数据类型。
­
类型 说明 类和结构、类数组和结构
带有公共字段或属性的类和结构类型。公共属性和字段已序列化。类必须具有不接受任何参数的默认构造函数。
DataSet、DataSet 数组
ADO.NET DataSet 类型。数据集类型也可以以字段形式出现在类或结构中。
XmlNode、XmlNode 数组
XmlNode 是 XML 片断在内存中的表示形式。XmlNode 类型可作为参数或返回值传递,添加到 XML 中以符合 SOAP 的形式传递给 Web 服务的其余部分。这使您可以传递或返回 XML(即使其结构在不同的调用中发生更改,或您不知道传递的所有类型)。XmlNode 类型也可以以字段的形式出现在类或结构中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值