10 2009 档案

摘要:奇怪了,SL居然不显示datagrid,于是调试调试再调试,测WCF、测ViewModel,测,最后把代码搬家到WPF,居然可以了。 于是下断点到一辈子也不会注意的InitializeComponent函数。 public DynamicGridView(){ InitializeComponent(); 见鬼了,要是这样的原因就见鬼了。但更奇怪的是],根本就不会执行到这里。于是,看... 阅读全文
posted @ 2009-10-29 21:40 包建强 阅读(405) 评论(0) 推荐(0) 编辑
摘要:终有一天,我要抛弃MSN。 1.MSN Server经常挂 2.如果网络不稳,Client频繁等入登出,消息动不动就发不出去。 3.每次升级,都强制原先的版本不能使用,如果原先的联系人不符合新的MSN规则,就不能登陆。tnnd 4.传输附件没有QQ快。不怕货好坏,就怕货比货。人比人得死,货比货得扔。 5.传输附件N多限制,exe不能发也就算了,rar也不能,每次都修改后缀为rar1。遇到... 阅读全文
posted @ 2009-10-28 22:57 包建强 阅读(425) 评论(2) 推荐(0) 编辑
摘要:三种契约 Service契约 包括接口和方法(operation契约) Data契约 参数,实体,XSD Message契约 SOAP中的消息格式(还有Fault契约) WCF异步调用,这个一定要在Client端添加Service Reference时,在高级选项中选择“生成异步调用”才生效,如下所示: 相应的Client代码:class Program{ static int c = 0; s... 阅读全文
posted @ 2009-10-27 11:04 包建强 阅读(492) 评论(0) 推荐(0) 编辑
摘要:我们在第一个自定义behavior的示例中,在Service端定义了一个behavior,这是一个ParameterInspector。代码下载:WCFBehaviorSolution1.zip   我们也可以在Client定义一个ParameterInspector。这与Service是否自定义了behavior无关。所以,我们可以基于WCFBehaviorSolution0.zi... 阅读全文
posted @ 2009-10-26 22:14 包建强 阅读(735) 评论(0) 推荐(0) 编辑
摘要:follow我,一路做下去,直到完成这个Sample,不要问为什么,下一篇文章告诉你。   本文添加的是自定义behavior的其中一种,ParameterInspector,就是说,client调用Service方法时传递的参数,我们可以在Service实际调用前进行筛选过滤。   我们在上面那个例子上,定义我们自己的behavior。代码下载:WCFBehavior... 阅读全文
posted @ 2009-10-26 22:13 包建强 阅读(621) 评论(1) 推荐(0) 编辑
摘要:本文全都是自定义behavior的定义。阅读前请参阅本系列前面两篇文章。   behavior,说白了,就是内部的附加操作。在效果上,有点像ASP.NET中的HttpModule和HttpHandle(实现原理当然不一样了)。 在上面的例子中,我们为Service添加了附加的操作,就是在调用契约方法之前,把从Client传来的参数+1。我们还可以在Client端也添加类似的行为,我... 阅读全文
posted @ 2009-10-26 22:13 包建强 阅读(862) 评论(0) 推荐(0) 编辑
摘要:本文适用于自托管Service。   我们要建立一个最简单的WCF程序,包括Service、ServiceHost和Client。 1)创建一个空的解决方案,起名为WCFBehaviorSolution,如下图所示(反正写blog不废纸,又不是写书,多截些图,读者不会骂我) 2)创建自托管Service,这是一个WCF Service库,专门适用于WCF自托管项目的:  ... 阅读全文
posted @ 2009-10-26 22:12 包建强 阅读(842) 评论(1) 推荐(2) 编辑
摘要:ServiceHosthost = newServiceHost(typeof(Service), http://localhost:8080/ddd); 只适用于自托管,"http://localhost:8080/ddd"是baseAddress,也可以把地址放到配置文件中: ServiceHost host = new ServiceHost(typeof(Servi... 阅读全文
posted @ 2009-10-23 19:29 包建强 阅读(505) 评论(0) 推荐(0) 编辑
摘要:1.关于宿主(host) 我们一般创建的是以IIS为宿主的,所以我们平常在VS2008中创建的项目,如下图所示,都是IIS托管的。关于IIS托管,上一篇文章已经说得很清楚了。   但是,WCF还有另一种托管方式,称为自托管(Self-Hosting)。 说得深奥些,就是Client和Service共用一个进程。说得通俗些,就是把Client项目和Service项目合二为一,比如说这... 阅读全文
posted @ 2009-10-23 18:13 包建强 阅读(415) 评论(1) 推荐(0) 编辑
摘要:(前言) 我们习惯于使用VS2008中WCF的项目模板,于是Server端的创建基本是不用动脑子的。 又因为我们默认使用的MEX绑定,所以在Client端,我们在VS2008种右击项目,就可以轻松添加Server Reference,这也是不用费脑细胞的。 VS2008让我们把注意力foucus在业务逻辑上,而模糊了WCF的本质。 于是我经常犯糊涂,甚至连WCF最基本的概念有时都混淆。 ... 阅读全文
posted @ 2009-10-23 12:21 包建强 阅读(452) 评论(3) 推荐(0) 编辑
摘要:  吉日有三篇文章,是我最深恶痛绝的,堪称误导新人之三部曲: 1.白话讲反射技术 --- 适合初学者入门引导 2.白话讲山寨SOA,少一些迷惑、多一些理解,你的程序架构SOA了吗? 3.不懂接口、反射、委托、设计模式足足写了5年的代码 -- 写给初学者(谈美女生成器不谈代码生成器) 阅读全文
posted @ 2009-10-19 00:38 包建强 阅读(12579) 评论(170) 推荐(16) 编辑
摘要:致博客园所有技术新手,正确了解反射,对你的程序员生涯具有至关重要的意义。因此,请不要被虾米虾米的水文误导,技术是容不得半点yy的。 阅读全文
posted @ 2009-10-16 14:59 包建强 阅读(14614) 评论(185) 推荐(26) 编辑
摘要:刚写完项目的一个UT,下面是在涉及UT时的一些新得,和以往的UT不太一样哦:1.Model中不要有方法,提升到ViewModel级别。2.MessageBox封装成ShowMessage(string text)方法,提升到IView中。在MockView中,设置Message属性,读取text参数值,从而可以使用Assert.IsTrue();来判断。3.对于异步调用WCF的方法,发是发,收是收... 阅读全文
posted @ 2009-10-15 12:36 包建强 阅读(704) 评论(1) 推荐(0) 编辑
摘要:继往开来,本文讨论了Command在Prism中的设计框架,指出其中的一些不足,以及一些修改意见。 至此,十一期间的7篇文章全部刊登结束,详细展现了MVP、Command和Prism的博大精深。 阅读全文
posted @ 2009-10-15 00:13 包建强 阅读(10229) 评论(11) 推荐(5) 编辑
摘要:MVP模式最后一篇,讲解WPF/Silverlight的另类编程方式。 阅读全文
posted @ 2009-10-14 00:37 包建强 阅读(4777) 评论(20) 推荐(2) 编辑
摘要:本文的代码都是基于WPF的,对于Silverlight,这些技术也同样适用。 本文详细讨论了INotifyPropertyChanged和ObservableCollection一些使用技巧。 阅读全文
posted @ 2009-10-13 00:06 包建强 阅读(44464) 评论(26) 推荐(25) 编辑
摘要:本文旨在验证一个容易混淆的概念,从而为玩转WPF/Silverlight中INotifyProperty做铺垫。 两个相同类型的变量a和b,并且有如下关系:b=a;如果a发生改变,b是否也发生改变呢? 阅读全文
posted @ 2009-10-12 14:38 包建强 阅读(3121) 评论(17) 推荐(3) 编辑
摘要:MVP模式中Command的终极解决方案。WPF/Silverlight中的必杀技——AttachedBehavior。 阅读全文
posted @ 2009-10-12 00:18 包建强 阅读(10952) 评论(29) 推荐(7) 编辑
摘要: 阅读全文
posted @ 2009-10-11 21:31 包建强 阅读(413) 评论(0) 推荐(0) 编辑
摘要:此文,是从传统窗体的Event编程模型到MVP的Command模型的过渡。 希望本文能颠覆所有软件开发人员的编程观念。 阅读全文
posted @ 2009-10-10 00:04 包建强 阅读(7109) 评论(18) 推荐(4) 编辑
摘要:本文,以及后面的几篇文章《从event折腾到command》、《AttachedBehavior技术详解》、《包式波动理念》共同构成了Prism开发的四部曲(这么名字有点别扭哦)。 阅读全文
posted @ 2009-10-09 08:16 包建强 阅读(16367) 评论(22) 推荐(10) 编辑
摘要:1. 前言(要重写)2. 从Hello World开始(实战篇)(要完善)3. 容器(构思中)4. Module研究5. View Injection和View Discovery6. Event机制7. 探寻Command8. 白话MVP9. 从Event折腾到Command10.AttachedBehavior11.包氏波动思想12.View-first和Presenter-first(已写好... 阅读全文
posted @ 2009-10-08 00:39 包建强 阅读(5612) 评论(4) 推荐(2) 编辑