Reflection

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2009年10月15日

摘要: 公司:新蛋科技(成都)有限公司职位:软件工程师/高级软件工程师描述:主要从事.NET方向的电子商务软件开发有兴趣的可以联系! 阅读全文
posted @ 2009-10-15 14:46 Reflection 阅读(237) 评论(1) 推荐(0) 编辑

2009年2月10日

摘要: 记录一下,避免遗忘。单一职责(SRP:Single Responsibility Principle):一个类,应该仅有一个引起它变化的原因。不要将变化原因不同的职责封装在一起,而应该分离。当然,这个要求是很苛刻的,要做到仅有一个原因很难,应该是一类相似的原因。和这个原则相似的原则是迪米特法则(LoD:Law of Demeter):又叫最少知识原则,指软件实体应该尽可能少的和其他软件实体发生相互... 阅读全文
posted @ 2009-02-10 15:24 Reflection 阅读(311) 评论(0) 推荐(0) 编辑

2008年5月31日

摘要: 找了个比较清晰的图片来比较.NET中的两个基本类型在内存分配上的区别。由此可以看出:1. 值类型是分配在堆栈上的,而引用类型是分配到托管堆上的。2. 引用类型有方法表,所以通过方法表可以实现继承,多态等,而值类型则不能。3. 静态变量是保存到方发表的,所以是类型级别的。相对于readonly的变量来说,是对象级别的。 阅读全文
posted @ 2008-05-31 19:27 Reflection 阅读(254) 评论(0) 推荐(0) 编辑

2008年5月23日

摘要: 在实际的应用程序中,可能经常会遇到在Service端如何统一处理异常,记Log等的问题。这些问题可能很多AOP框架已经给出了解决方案。其实对于WCF来说简单的做一下扩展就可以解决这个问题了。由于处理异常,记日志主要针对的是Operation级别,所以我选择的扩展点是IOperationInvoker接口,这个接口提供在Operation调用时的拦截。先看一下它的定义:publicinterface... 阅读全文
posted @ 2008-05-23 16:56 Reflection 阅读(3674) 评论(8) 推荐(2) 编辑

2008年5月22日

摘要: 我们常说的WCF里面有ABC,那么B代表的就是Binding。那首先来大致了解一下什么是Binding。从图上可以看出,Binding为WCF运行时建立了Channel Stack,定义了消息在传输过程中比较重要的三件事:传输、编码、协议(包括安全性、可靠性等)。其中传输和编码是必须要提供的。从我们开发者的角度来说,Binding就是一个Binding Element的集合。Binding Ele... 阅读全文
posted @ 2008-05-22 15:25 Reflection 阅读(860) 评论(0) 推荐(0) 编辑

2008年5月21日

摘要: 这一篇中,我将和大家探讨一下如何扩展WCF service端的Dispatcher。因为可以讨论的方面是十分多的,所以在这里我只是列举了几个可能是比较常用的扩展点。至于关于Dispatcher其他的扩展,相信大家不难找出。首先我们看一下Dispatcher的结构:图是从MSDN上搞到的,有点大。我们可以看到在ServiceHost下有两个Dispatcher:ChannelDispatcher、E... 阅读全文
posted @ 2008-05-21 15:45 Reflection 阅读(710) 评论(0) 推荐(0) 编辑

摘要: 研究如何扩展WCF,其实是想更深入的了解一下WCF的架构,以及它的一些设计思想。所以在下面的几篇文章中,我想和大家一起探讨一下我们可以如何来扩展WCF,如何往它的体系结构中加入我们的东西。由于本人也才疏学浅,所以有讲的不对的地方,还希望大家不吝赐教。好,言归正传,我们首先来看看WCF的一个runtime architecture。把这个图上的内容搞清楚了,我想对于WCF的编程模型和如何来扩展就会比... 阅读全文
posted @ 2008-05-21 13:08 Reflection 阅读(611) 评论(1) 推荐(0) 编辑

2008年4月11日

摘要: 在本次实验中,你将会和一个银行的程序打交道。通过这个程序,你将会看到如何加入transaction。首先你需要创建一个数据库。打开Transactions文件夹,使用Bank.sql脚本创建数据库。打开Bank.sln解决方案。想往常一样,解决方案中包含了服务端和客户端的程序。我们先来看服务端。服务端包含了AccountService和AccountManger两个服务。AccountServic... 阅读全文
posted @ 2008-04-11 16:41 Reflection 阅读(2138) 评论(5) 推荐(0) 编辑

摘要: 在本次实验中你将会看到几种不同的operation方式:request/reply、one-way和duplex callbacks。打开Operation文件夹下的Operation.sln解决方案。程序是一个交通灯的管理系统。解决方案包含了三个项目:TrafficLightClient项目包含了一个winform程序,用来表示单个交通灯:TrafficController项目包含了一个winf... 阅读全文
posted @ 2008-04-11 16:32 Reflection 阅读(700) 评论(2) 推荐(0) 编辑

摘要: 在本次实验中你将会体会到三种不同的实例管理模式。打开Instance Management文件夹下的InstanceManagement.sln解决方案。解决方案中包含了一个简单的服务器端和客户端。它们都被配置为了BasicHttpBinding。<services><servicename="MyNamespace.MyService"><endpointaddre... 阅读全文
posted @ 2008-04-11 13:03 Reflection 阅读(1565) 评论(2) 推荐(0) 编辑