本篇内容介绍了“WCF序列化流程是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
为什么WCF序列化:我们这里先来介绍一下为什么需要序列化。当然这个不是必须的。只是针对特定的开发平台的数据或者信息类型而言,当一个系统或者说平台需要和别的异构的系统或者平台交互的时候,两个系统需要一个特定的公开的可以公用的行业标准来支持这个数据信息的交互。这里目前来说支持这个数据交互传递的语言载体就是XML.
同样WCF作为面向服务的编程框架,它的目标或者特性之一就是实现服务的跨语言、平台,与不同的服务进行信息数据的交互,而不限制客户端的系统或者开发语言。要实现这个目标,WCF服务首先就是要面对信息的传递与共享问题。我们知道WCF服务和客户端可以传递如Int、String等.NET数据类型。但是如何实现用户自定义复杂类型的跨服务边界的传递,这是一个关键问题。数据契约可以发布为服务的元数据,允许客户端转化为本地语言表示。解决的办法就是封送(Marshaling),将对象封送到其它平台。基于WCF的客户端和服务端参数传递的过程如下图:
WCF序列化
主要步骤:客户端序列化参数为XML信息集--传递->服务端反序列化为本地类型--执行结果->序列化结果为XML信息集--传递->客户端序反序列化返回信息为本地类型。
.Net Remoting的通信过程 ,两者也有流程也有部分相似之处。对象封送的概念其实.Net Remoting早有涉及,远程对象(RemoteOject),也就是我们远程要访问的对象.首先定义一个Class,继承MarshalByRefObject,可以使用在remoting应用中,支持对象的跨域边界访问。看过.Net Remoting这节文章应该还有点印象,不同之处是WCF的对象封送是为跨越服务边界,.Net Remoting的封送是为了跨越跨域边界。
“WCF序列化流程是怎样的”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!