03 2013 档案

摘要:上一篇博客中我们介绍到了数据契约的序列化操作,虽然数据契约的序列化和xml的序列化操作基本保持一致,除了一些细小的差别外,但是数据契约的序列化更加简单,更加方便。今天我们继续数据契约的序列化,只不过今天要讨论的问题不是如何序列化,而是如何保证序列化成功。说到这里,你可能会笑了?保证序列化成功是wcf的操作,我们根本不用管,如果序列化不成功,也是wcf框架的问题,肯定不会是我序列化对象的问题。其实对象的序列化和反序列化实现了数据在托管对象和xml之间两种形态的转换。由于托管对象是通过CLR类型来描述的,所以数据契约序列化器DatacontractSerializer在序列化的时候必须明确所有对象 阅读全文
posted @ 2013-03-29 18:52 baidixing 阅读(1315) 评论(2) 推荐(0) 编辑
摘要:上一篇博客我们说明了数据契约的前身Xml的序列化,这次还是言归正传,回到wcf的技术上来,分析一下DataContractSerializer 。首先我们必须了解wcf默认是通过xml进行数据传输,但是并不意味着就一定要用这种,还有轻量级的json。DataContractSerializer继承自XmlObjectSerializer,是可以直接对.Net对象进行序列化操作,但是DatacontractSerializer的使用更加方便。要使一个类成为数据契约,我们必须要通过DataContractAttribute进行标注,然后通过应用DataMemberAttribute特性来标注它的属 阅读全文
posted @ 2013-03-28 23:19 baidixing 阅读(1733) 评论(1) 推荐(0) 编辑
摘要:在上一篇博客介绍了xml序列化的原则,wcf 基础教程 契约 Contract 数据契约DataContract序列化前身 XmlSerializer xml序列化, 今天我们沿着上次描述的继续前进,这次的内容可能会很少,但是应该说如果我们想更进一步的控制xml,那么还是很有必要的。好了,不多说了,xml序列化使用的是.Net 中的XmlSerializer,在System.Xml.Serialization.XmlSerializer 命名空间下。上次仅仅是XmlSerializer 采用的默认的序列化规则。很多情况下,我们需要控制xml的输出,那么就需要我们人为的干预和控制。在xml序列化 阅读全文
posted @ 2013-03-21 23:39 baidixing 阅读(1294) 评论(2) 推荐(0) 编辑
摘要:本来今天打算描述一下数据契约的序列化,毕竟只是单纯的说数据契约的作用也没有太大意义,但是我发现如果单纯的叙述wcf的序列胡DataSerializer 很困难,因为它采用的事xml序列化,所以今天打乱了我的计划,来介绍一下.Net中的xml序列化,毕竟我们在使用序列化器的时候,很多时候生成的都是xml。契约是交互双方或多方就某个问题达成的一共共识,而信息交换式wcf通信的唯一手段,也是跨平台的关键,所以契约的最根本目的不是定义什么操作方式,而是对消息的结构进行规范、统一,只有通信双方对消息的结构达成了一致,通信才可能进行。wcf默认的数据交换方式就是xml,虽然说数据在wcf中有CLR对象和X 阅读全文
posted @ 2013-03-21 22:56 baidixing 阅读(1485) 评论(0) 推荐(1) 编辑
摘要:在前几篇博客中我有说到服务的寄宿,就是服务要运行起来必须采取的几种方式,相当于我们可以照葫芦画瓜的效果运行一个wcf服务,但是那只是实践,我们知其然更要知其所以然,所以从今天开始我们开始介绍wcf的三大部分:契约、绑定以及服务。当然这其中会有很多的细节问题,比如说终结点等等,我们穿插着进行。今天就先来预习一下契约,也称为合同(Contract).wcf的契约一共包括几种:数据契约、服务契约、消息契约、错误契约。既然是预习,那么我们就一起来学习一下这几种契约的作用。数据契约:DataContract 是用来对wcf的数据传输进行串行化。说到串行化,.net中也有串行化,但是.Net的串行化是把所 阅读全文
posted @ 2013-03-19 23:14 baidixing 阅读(1879) 评论(0) 推荐(1) 编辑
摘要:wcf的寄宿方式多种多样,今天我们一起来探讨一下windows 服务的寄宿方式,其实明白了控制台的寄宿方式,在windows下的寄宿方式也是一样,只不过是操作方式有点区别。编程代码基本是一样的。我们首先创建一个window 服务应用程序,然后在service1.cs设计界面中添加安装程序,这些都是我们创建windows服务应用程序应该熟知的步骤,我就不再赘述了,我们需要做的就是把控制台程序中的添加服务宿主的代码拷贝到windows服务应用程序中。 1 protected override void OnStart(string[] args) 2 { 3 4 ... 阅读全文
posted @ 2013-03-19 00:18 baidixing 阅读(4423) 评论(5) 推荐(2) 编辑
摘要:wcf 的服务寄宿方式大致可以分为两种,一种就是自我寄宿,另一种就是通过操作系统的组件进行寄宿。wcf的服务需要承载于一个被称为宿主的应用程序中。宿主程序为请求监听、消息处理、服务激活、以及操作执行提供了一个运行环境。我们将利用宿主程序来承载服务的操作称为服务寄宿。自定义一个控制台应用程序、Windows程序或其他类型的程序作为承载服务的宿主,我们将这种方式称为服务寄宿(Self-Hosting).另一种就是通过操作系统现有的进程激活方式为wcf服务提供宿主,包括IIS、WAS(Windows激活服务)、Windows 服务等几种。既然说到了寄宿,我就多说一句,就是IIS寄宿不需要启动,因为I 阅读全文
posted @ 2013-03-16 23:36 baidixing 阅读(2682) 评论(2) 推荐(2) 编辑
摘要:可能大家会觉得我说完了wcf的介绍以后,会介绍wcf的契约、服务这些内容,但是我没有,为什么呢?原因就是我一直坚持的从程序员中来,到程序员中去的观点。程序员的学习是一个渐进的过程,不是有了介绍就可以直接了解wcf的全貌,但是我也没有介绍wcf的配置,因为这个内容很多,但是我今天要介绍的是wcf中的一个知识点,这个知识点只是一个渐进的过程,但是知道了这个知识点以后,我们可以避免很多错误的发生。所以我说一下wcf中的一个Attribute ConfigurationName。在很多的契约及其服务行为属性中我们都可以看到这个属性的存在,但是这个属性究竟是做什么的。如果不仔细看一下很真是有些误导,但是 阅读全文
posted @ 2013-03-16 22:19 baidixing 阅读(2209) 评论(3) 推荐(0) 编辑
摘要:在上一篇博客wcf 基础教程 第一讲 wcf基础知识中,因为篇幅过长,所以我选择在这一篇把wcf用IIS承载的方式介绍一下。首先我们在WebHosting web项目中创建一个.svc的文件,这里我建议之间添加一个类,然后把文件后缀改成.svc就可以。我们添加了一个CalService.svc文件。1 <%@ServiceHost Service="Chinaer.WcfDemo.Services.CalService" Debug="true" %>添加了这个文件以后,我们在web.config中进行简单的配置。 1 <system. 阅读全文
posted @ 2013-03-16 00:22 baidixing 阅读(2482) 评论(0) 推荐(1) 编辑
摘要:最近工作有点忙,感觉有点累啊,很久没有更新博客了,看到自己的博客访问量日渐下降,我于心不忍,决定还是重新开博来吸引大家的关注。这次要说的不是别的,正是大名鼎鼎的wcf。或者在中间我会穿插MVC的说明,毕竟上一个系列MVC也没有写完就过年了,这次希望能坚持到底。呵呵既然是基础,那我们就来了解一下wcf的前生今世。然后再用一个小实例说明一下就可以结束了。SOA(面向服务的架构) 大家都很明白,wcf就是.Net平台下为了这个目的为出生的一个精品,作为微软技术的大一统,可以说值得我们深入的学习。WCF(Windows Communication Foundation)是作为.Net framewor 阅读全文
posted @ 2013-03-15 23:23 baidixing 阅读(8404) 评论(11) 推荐(4) 编辑

点击右上角即可分享
微信分享提示