WCF入门(11)
前言
终于出太阳了。
可惜风太大,凉在阳台上的衣服全被吹到了地上,外加几双袜子被吹掉了,gone。
第11集 Difference between DataContract and MessageContract in WCF(WCF中DataContract 和 MessageContract 的区别)
今天11集,视频总共11分41秒,够短的,内容也很简单。上集的例子上也讲过一些他们的区别,这集来总结一下。
通过DataContract 特性,我们对soap message的内容格式控制是非常有限的,
可以看到,能做的事情还是很有限的,但是MessageContract 就不一样了,有header和body两部分,自身又可以通过属性来控制所有能需要控制的东西(full control)。
视频后面提到一个问题,上集中一个LicenseKey,是放在header里面的,就有人问了,是否可以直接作为一个参数传过去。答案是:单从解决问题的角度来说,可以的。但是,极其不推荐。因为从代码“美观”的角度来说,那个方法是仅仅是一个GetEmployee,获取员工信息的方法,如果放上这个LicenseKey,就会牵扯到一些验证的东西,毕竟,我们都喜欢KISS(keep it simple and stupid)。当然,验证肯定还是要的,所以可以把封装起来的这个EmployeeRequest 类放到什么地方处理一下。而且,万一以后要加什么属性,只要扩展一下这个Request类(类里面多个属性总比改若干个方法签名要好);
最后一点,视频说有人通过看他的视频found a job。。。好吧。
好简单的一集,不晓得放博客园首页会不会给管理员弄掉~~。
ThankYou!