当前位置:主页   - 电脑 - 网站开发 - ASP.Net
Enterprise Library Policy Injection Application Block 之三:PIAB的扩展—创建自定义CallHandler
来源:网络   作者:   更新时间:2012-03-27
收藏此页】    【字号    】    【打印】    【关闭

  本文示例源代码或素材下载

  本系列的第一部分对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

Enterprise Library Policy Injection Application Block 之三:PIAB的扩展—创建自定义CallHandler

  如上图,整个Solution由两个Project组成,一个Class Library和一个Console Application。所有与Custom CallHandler的Class都定义在Artech.CustomCallHandler.ClassLibrary中,而Artech.CustomCallHandler.ConsoleApp重在演示对Custom CallHandler的使用。在Artech.CustomCallHandler.ClassLibrary中,添加如下3个Dll Reference,你可以在安装Enterprise Library V3 .1的目录中找到。

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明