了解wcf和webservice的基本知识
1.WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键)。微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互。WSDL来实现服务接口相关的描述。此外Web services 可以注册到UDDI中心.供其客户查找使用。 后来微软做了ASP.NET Web Service的安全,性能,数据加密、解密,托管宿主等多方面的扩展,称为WSE系列,这个是过度产品,最高到WSE3.0.后来就是WCF时代。
2.WCF:其实一定程度上就是ASP.NET Web Service,因为它支持Web Service的行业标准和核心协议,因此ASP.NET Web Service和WSE能做的事情,它几乎都能胜任,跨平台和语言更不是问题(数据也支持XML格式化,而且提供了自己的格式化器)。 但是WCF作为微软主推一个通讯组件或者平台,它的目标不仅仅是在支持和集成Web Service,因为它还兼容和具备了微软早期很多技术的特性。 根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。
3.WSE:Web Services Enhancements 2.0 for Microsoft .NET (WSE)是一个用来建设Web服务的.NET类库,它支持最新的Web服务协议,包括WS-Security、WS-SecureConversation、WS-Trust、WS-Policy、WS-SecurityPolicy、WS-Addressing和 WS-Attachments。 WSE可使开发人员跨安全平台建设可升级的、安全的Web服务。它支持用传输的方式发送SOAP消息,而不是HTTP。另一个特点是具有建立SOAP路由器的功能,SOAP消息被发送给SOAP路由器,路由器再将工作交付给托管该服务的Web服务器。
4.soap:是一种轻量级协议,用于在分散型、分布式环境中交换结构化信息。 SOAP 利用 XML 技术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。 这种框架的设计思想是要独立于任何一种特定的编程模型和其他特定实现的语义。 特性: 1) 可扩展,2) 可通过多种底层网络协议使用 3) 独立于编程模型。
5:http:
1 http-get:是超文本传输协议的一种,依靠唯一的URI把数据传输.
特点:a 将数据添加到URL
b 利用一个问号(”?”)代表URL地址的结尾与数据的开端。
c 每一个数据的元素以 名称/值 (name/value) 的形式出现(以&分割)。
d 利用一个分号(“;”)来区分多个数据元素。
2 http-post: HTTP-POST是超文本传输协议的一种,依靠用户发送的数据头获取数据.
特点:a将数据包括在HTTP主体中。
b 同样的,数据的元素以 名称/值 (name/value) 的形式出现(以&分割)。
c 但是每一个数据元素分别占用主体的一行
6web服务中使用的数据类型
基础类型:string char byte boolean int uint single double guid decimal datetime
枚举类型:系统定义和用户自定义的枚举类型 web服务总 枚举类型必须定义为公共的 可见性不低于public
类和结构: 带有公共字段和属性和类和结构类型。只有类和结构类型的公共字段和公共属性成员可以被序列化,其他任何受保护和或私有的成员都会被忽略
数据集:web服务可以使用ADO.net的DataSet类型
xmlNode:表示xml文档中的一个节点。同样,它是一个xml片段在内存中的表示。可以将xmlNode对象作为参数传递,他们将被添加到xml的其他部分,xml正被一种soap兼容的方式传递web服务。
数组:web方法支持上述类型的数组。可以返回原始类型的数组,如字符串数组,同样也可以返回xmlNode数组,DataSet对象数组或类数组