[原创]MS Enterprise Library Policy Injection Application Block 深入解析[总结篇]

本文详细介绍了PolicyInjectionApplicationBlock(PIAB)的概念、设计原理及其在.NET平台的应用。包括如何创建自定义CallHandler、控制CallHandler执行顺序、与WCF及UnityContainer集成等内容。

Policy Injection Application Block(PIAB)是Enterprise Library众多Application Block中的一个。在我看来,PIAB和后来的Unity Application Block的推出在Enterprise Library的发展历程中具有重要的意思,它标志着Enterprise Library向真正框架上面发展。不再是仅仅关注于某个具体功能实现(比如Logging、Caching、DA、Security等等)。PIAB提供了一种易用的、可扩展的机制是你能够将你需要的Policy应用到对应的目标对象上。PIAB是为你实现AOP提供了又一个不错的选择。对了让读者全面地了解PIAB,能够灵活的使用PIAB为你项目开发服务,我先后写了6篇文章。现在讲他们集中在一起,以饷读者。

一、Policy Injection Application Block 简介

本篇文章介绍了PIAB相关的概念、使用场景,并通过一个简单的例子介绍PIAB的编程方式。

二、Policy Injection Application Block 设计和实现原理

本篇文章介绍了整个PIAB的架构,并通过具体的例子揭示了PIAB的实现机制。

三、如何创建你自己的CallHandler

Policy Injection Application Block 是一个具有很好扩展性的实现AOP的框架,提供一种简易的方式是你能够实现core concern和crosscutting concern的分离。在实际的开发中,你可以将你所需要的逻辑(一般是非业务逻辑)定义在一个个的CallHandler中。本篇文章通过一个简单的例子,以walk through的方式指导读者如何一步步地创建和使用PIAB CallHandler。

四、如何让CallHandler有序执行

由于本篇文章是基于Enterprise Library Library V3.1 的,在该版本中,我们无法控制应用到同一个目标方法上的多个CallHandler的执行顺序。在本篇文章中,我将介绍如何对PIAB的Source进行简单的修改,让CallHandler按照我们希望的顺序执行。虽然在最新版本的Enterprise Library Library(V4.0)中实现了该功能,阅读本篇文章对于了PIAB的实现机制仍然具有一定的意义。

五、如何实现WCF和PIAB的集成

WCF是.NET平台下到目前为止最强大的分布式开发平台。同时WCF也最具有可扩展性的分布式框架。本篇文章将介绍如何通过WCF extension使用通PIAB的集成。通过WCF和PIAB的集成,我们可以将CallHandler直接应用到WCF service上,在运行时,PIAB将被自动纳入WCF处理管道。

六、如何实现Unity Container和PIAB的集成

Unity Application Block是Enterprise Library 4.0推出的又一个在Enterprise Library发展历史上具有里程碑意义的Application Block。Unity Application Block将Dependency Injection的机制引入Enterprise Library。通过几乎所有的原有的Application Block也因为Unity进行了修正。本篇文章将介绍如何通过Unity container extension实现Unity 和PIAB的集成。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值