Enterprise Library Policy Injection Application Block之三2010-09-10 cnblogs artech本系列的第一部分对PIAB使用场景进行了简单的介绍,作中阐述了通过PI(Policy Injection)的方式实现了Business Logic和Non-Business Infrastructure Logic的分离,从而实现了AOP(Aspect Oriented Programming)。在第二部分中详细介绍PIAB的实现机制:通过自定义RealProxy的方式实现了Method Injection。通过这几天接收到的网友的留言,觉得很多人对在具体的项目开发中如何使用PIAB还有很多困惑,对PIAB的价值还不是很了解。为此,在本系列的第三篇文章中,我将以Walk through的方式定义一个Custom CallHandler,并通过两种不同的方式:Attribute和Configuration将其运用到所以得Method上。场景描述:本Demo模拟一个简单的场景:订单处理,我们将订单处理之前对订单的验证通过PI的方式提供。我们假设需要进行如何的验证:Order Date必须早于当前日期。必须有具体的Product。供应商必须是制定的几家合法供应商(可选)。Order的总价必须是所有Product价格之和(可选)。其中前两个验证规则为必须的,后两个未可选项,可以通过Attribute和Configuration进行相应的配置。Step I 创建Solution