很多刚刚接触WCF的人往往不能很好地区分Serialization和Encoding。我们的.NET Object通过Serialization转化成XML Infoset。但是要使我们的数据能够通过网络协议在网络上传递,必须把生成的XML Infoset转化成字节流(Byte Stream)。所以Encoding关注的是XML Infoset到字节流(Byte Stream)这一段转化的过程。在WCF中,有3中不同的方式可供选择:Binary;Text和MTOM(Message Transmit Optimized Mechanism)消息传输优化机制。Binary具有最好的Performance,Text具有最好的互操作性,MTOM则有利于大量数据的传送。
我们可以这样来理解Serialization和Encoding,Sterilization是基于Service Contract的——而实际上它也是定义在Service Contract中,是放在我们的Code中;而Encoding一般由Binding提供,它是和Service无关的,我们一般在Configuration中根据实际的需要选择我们合适的Encoding。WCF把Serialization和Encoding相互分离是有好处的,Serialization手部署环境的影响相对不大,具有相对的通用性,而Encoding则关系到访问Service的性能以及互操作性等方面,和部署环境紧密相关。比如对于一个在一个Intranet内部使用的系统,往往处于提高Performance考虑,我们一般是使用TCP Transport结合Binary 的Encoding,可能在某一天出现的来自于Internet的潜在的调用,我们不得不改用Http作为Transport,并使用Text Encoding。由于Encoding是可配置的,所以在这种情况下,我们只需要改变Configuration文件就可以了。
相关推荐
标题“ClassLibrary1wcf1”暗示我们正在讨论一个与Windows Communication Foundation(WCF)相关的类库项目。WCF是微软.NET框架的一部分,用于构建高度可配置、安全的服务,允许跨进程甚至跨网络进行通信。这个类库...
1. **wcf1学习之基本概念.doc**:这份文档可能会介绍WCF的基本概念,如服务、客户端、服务契约、数据契约、绑定、终结点等,这些都是理解和使用WCF的基础。 2. **wcf9学习之端点绑定.doc**:端点是服务对外暴露的...
而"wcf1.zip"可能是一个包含示例代码或者额外配置文件的压缩包,帮助理解并实践WCF服务的开发和部署。 总的来说,理解和掌握WCF原理对于开发分布式系统和企业级应用至关重要。通过IIS宿主,开发者可以利用IIS的管理...
在WCF服务中,你需要定义一个服务接口(IService1),并在接口中声明你要提供的操作(方法)。然后,实现这个接口的类(Service1),这将是服务的实际工作部分。服务配置通常在`app.config`文件中进行,定义服务的...
1. **Web调用**:WCF服务可以通过HTTP协议暴露为Web服务,允许任何支持SOAP协议的客户端进行调用,包括Java应用程序。这种模式通常称为WSHttpBinding,它使用SOAP消息在HTTP上进行通信。为了使WCF服务支持Web调用,...
1. **测试工具的可执行文件**:这是可以直接运行的测试工具,用于与WCF服务进行交互。 2. **源码文件**:可能包含C#源代码,开发者可以查看和学习如何实现测试逻辑和功能。 3. **文档或说明**:可能有工具的使用指南...
<add baseAddress="http://localhost:8732/Design_Time_Addresses/WcfService1/Service1/" /> <endpoint address="" binding="basicHttpBinding" contract="WcfService1.IService1" /> ``` 3. 客户端...
1. **契约(Contract)**:定义了服务端与客户端之间的通信协议,规定了数据交换的格式和方法签名。 2. **服务对象**:负责实现契约中定义的方法,当客户端调用服务时,会创建服务对象并执行相应的方法。 #### 实现...
Windows Communication Foundation(WCF)是微软.NET Framework中的一个核心组件,用于构建分布式应用程序。它提供了一种统一的方式,用于创建、部署和管理跨进程、跨网络的服务。WCF集成了多种通信技术,如Web服务...
1. **安全性**:WCF 支持多种安全机制,包括消息级别的加密、身份验证和授权。 2. **可靠性**:WCF 提供了一套完整的机制来确保消息在传输过程中不会丢失,并能处理各种故障恢复情况。 3. **事务处理**:支持事务...
在.NET框架中,Windows Forms(Winform)是用于构建桌面应用程序的用户界面,而WCF(Windows Communication Foundation)是微软提供的一个全面的面向服务的架构,用于构建、配置和部署分布式应用程序。本示例将详细...
1. **服务** - WCF服务是提供功能给其他应用程序使用的组件。它定义了接口和实现,通过合同(Service Contract)来指定服务提供的操作。 2. **终结点** - 服务通过终结点与外界交互,每个终结点包含地址、绑定和...
在“WCF按部就班学习系列1”中,我们将深入探讨WCF的基础知识,包括服务契约、宿主定义等关键概念。 **服务契约** 服务契约是WCF中的核心概念,它定义了服务提供的操作及其交互方式。服务契约通过接口(Interface...
课程简介:Windows Communication Foundation (WCF)是微软公司为构建面向服务的应用程序(SOA)所提供的消息平台。该平台随着Windows Vista操作系统,并且作为.NET Framework 3.0的一部分发布。WCF统一了组件与服务...
1. **WCFServiceLibrary**: 这是服务的核心,包含了定义服务接口和服务实现的代码。服务接口定义了可供客户端调用的操作,通常以`.svc`文件的形式暴露。服务实现则包含具体的业务逻辑,实现了接口中声明的方法。...
WCF客户端测试工具,如标题所提及,是一个非常实用的工具,用于验证和调试WCF服务,确保其能够正确地与客户端进行通信。 在开发过程中,确保WCF服务的可用性和功能完整性至关重要。这个测试工具允许开发者直接从...
1. **Soap Toolkit 3.0**:这个工具是微软提供的一种方法,允许老版本的Visual Basic应用程序(如VB6)与Web服务进行交互。Soap Toolkit 3.0是一个插件,它将WSDL(Web服务描述语言)转换为可以被VB6理解的类型库。 ...
1. **新建项目**:在Visual Studio中,选择“新建项目”,然后选择“WCF库”模板。 2. **定义服务接口**:在新建的项目中,创建一个接口类(如IService1.cs),并定义服务操作方法。 3. **实现服务接口**:创建一个...