zoukankan      html  css  js  c++  java
  • Abp中的工作单元UnitOfWork的Aop是如何实现的

    说来惭愧啊,Aop编程,我一直只知道Mvc 中的过滤器,我们可以重写OnActionExecuting 和OnActionExecuted的方法。用来在Action前后处理一些逻辑。如下图显示

    到了,Abp中的UnitOfWork之后,我就困惑了,为什么它可以在Service方法中,使用UnitOfWorkAttribute 就可以在方法前开启事务,难道可以使用mvc中的过滤器,很明显,这是不正确的。

     知道今天,看了Aop的资料,才知道拦截器。

    下面我们来用控制台测试一下拦截器如何使用。

     我们定义一个UnitOfWorkAttribute,然后安装Nuget Package Castle.Core

    我们定义UnitOfWorkInterceptor拦截器,实现IInterceptor接口,

     我们定义一个需要调用的方法。需要说明这里调用的方法必须是虚方法。virtual的作用在这里就不说了

     然后调用。

    Abp 工作单元开启和释放数据库事务也是通过拦截器来实现的。

  • 相关阅读:
    BZOJ1040: [ZJOI2008]骑士
    Codeforces 849D.Rooter's Song
    POJ4852 Ants
    NOIP模拟赛 17.10.10
    Codeforces 851D Arpa and a list of numbers
    BZOJ2529: [Poi2011]Sticks
    BZOJ1826: [JSOI2010]缓存交换
    POJ3579 Median
    codevs1214 线段覆盖
    POJ2230 Watchcow
  • 原文地址:https://www.cnblogs.com/dazen/p/12266960.html
Copyright © 2011-2022 走看看