亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

AbpKernelModule

2019-11-14 14:26:32
字體:
來源:轉載
供稿:網友

PReInitialize

IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

增加BasicConventionRegister, 在這里只是添加這種 基本的注冊方式,翻譯的不好有點擾,其主要是告訴Ioc在后面的注冊的時候關注三種類型

ITransientDependency

ISingletonDependency

IInterceptor

意味著只要你定義的類加了上面任意一個接口,就會被Abp的框架自動注冊到Ioc,

但是這里只是告訴Ioc有這種注冊方式,真正的注冊并不是在這里。

 

ValidationInterceptorRegistrar.Initialize(IocManager);

internal static class ValidationInterceptorRegistrar{    public static void Initialize(IIocManager iocManager)    {        iocManager.IocContainer.Kernel.ComponentRegistered += Kernel_ComponentRegistered;    }    private static void Kernel_ComponentRegistered(string key, IHandler handler)    {        if (typeof(IapplicationService).IsAssignableFrom(handler.ComponentModel.Implementation))        {            handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(ValidationInterceptor)));        }    }}

這段代碼很有意思, 其意思是說當Ioc中有組件被注冊的時候(也就是往Ioc添加某個類型的時候), 檢測該對象是否是IApplicationService(也就是只驗證ApplicationService層), 是的話做Validation的攔截,可以做到攔截之后對ApplicationService層的方法參數做檢測, Interceptors是一個攔截器集合, 可以加入更多的攔截器,比如方法調用日志監控橫切面的操作。

所以當一個請求進入ApplicationService層之后,第一個做的事情就是 Validation.

跳過Validation的條件 :

DisableValidationAttribute, 僅可添加在方法上面

非Public方法

參數為空

驗證失敗會拋出: AbpValidationException異常,并帶有驗證失敗的詳細字段及錯誤信息

最后如果參數里面的某個屬性定義添加了IShouldNormalize接口,還會調用IShouldNormalize的Normalize方法,做一些數據規范化的操作,目前還沒想出來有啥用。

 

FeatureInterceptorRegistrar.Initialize(IocManager);

其針對所有的Ioc里面的對象,這個攔截器攔截的要素有2點:

a. 類上有RequiresFeatureAttribute

b. 類里面的某個某個方法有RequiresFeatureAttribute

這個看起來像一個比較通用的功能性的檢查,應該是為一個小的擴展功能存在的, 目前沒用到,暫時忽略.

 

AuditingInterceptorRegistrar.Initialize(IocManager);

審計攔截器,很有用的數據攔截, 其主要作用就是記錄攔截到的方法調用的數據。

攔截規則:

private static bool ShouldIntercept(Type type){    if (_auditingConfiguration.Selectors.Any(selector => selector.Predicate(type)))    {        return true;    }    if (type.IsDefined(typeof(AuditedAttribute), true)) //TODO: true or false?    {        return true;    }    if (type.GetMethods().Any(m => m.IsDefined(typeof(AuditedAttribute), true))) //TODO: true or false?    {        return true;    }    return false;}

可以看到除了第一條做了一個擴展規則之外,其余兩條都是通過AuditedAttribute來處理的.

關于Selectors的選擇器, 我們緊接著可以看到下面的代碼:

image

也只是針對IApplicationService層的方法做了審計攔截.

至此應該明白 Abp的審計是如何做的了吧.

 

但是看似這個功能很好,難免也會有特殊癖好的人思考如何關掉這么有用的功能, 看AuditingInterceptorRegistrar的類里面Initialize方法

public static void Initialize(IIocManager iocManager){    _auditingConfiguration = iocManager.Resolve<IAuditingConfiguration>();    if (!_auditingConfiguration.IsEnabled)    {        return;    }    iocManager.IocContainer.Kernel.ComponentRegistered += Kernel_ComponentRegistered;}

寫明了_auditingConfiguration.IsEnable來判斷是否啟用,但是這個方法本身就是在AbpKernel中執行的,請問在何處可以設置這個值呢?

通過上篇的應用程序生命周期的分析,

protected virtual void Application_Start(object sender, EventArgs e){    AbpBootstrapper.IocManager.RegisterIfNot<IAssemblyFinder, WebAssemblyFinder>();    AbpBootstrapper.Initialize();}

但是IAuditingConfiguration的注冊及本方法的Init都是在Initizlize這個方法中,如果你使用的是非Abp的源代碼,貌似沒有辦法做到關閉, 所以上面關閉Abp 默認Auditing功能的答案是否定的,待后續找作者處理(這個已聯系作者處理: https://github.com/aspnetboilerplate/aspnetboilerplate/issues/721)。

審計日志的保存:

image

 

UnitOfWorkRegistrar.Initialize(IocManager);

Uow的攔截注冊

image

image

可以看到默認情況下攔截兩種:

1. 所有有IRepository接口跟IApplicationService的類

2. 所有的加了UnitOfWorkAttribute的方法

 

AuthorizationInterceptorRegistrar.Initialize(IocManager);

這個可以實現Service層方法的授權檢查, 沒怎么用,忽略.

 

其他
Configuration.Settings.Providers.Add<EmailSettingProvider>();Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.SoftDelete, true);Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MustHaveTenant, true);Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MayHaveTenant, true);ConfigureCaches();

EmailSetting 郵件設置

SoftDelete: 軟刪除設置

MustHaveTenant: 多租戶設置

MayHaveTenant:

Caches: 緩存策略設置


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
高清日韩电视剧大全免费播放在线观看| 欧美一级高清免费| 亚洲精品国产精品国自产在线| 亚洲欧美激情四射在线日| 久久精品国产亚洲| 亚洲午夜未删减在线观看| 欧美激情欧美狂野欧美精品| 欧美尺度大的性做爰视频| 91爱爱小视频k| 奇米成人av国产一区二区三区| 久久久久久久久久久亚洲| 日韩在线观看免费全集电视剧网站| 国产精品青青在线观看爽香蕉| 91午夜理伦私人影院| 日韩精品欧美激情| 久久久成人av| 亚洲欧美国产精品va在线观看| 日本成熟性欧美| 成人h片在线播放免费网站| 久久久久久久久久av| 57pao成人国产永久免费| 亚洲欧美日韩综合| 欧美精品18videosex性欧美| 国产午夜精品全部视频播放| 久久中文字幕在线视频| 国产精品高潮呻吟久久av野狼| 国产精品久久久久久久久久久久久| 国产亚洲一级高清| 国产成人精品av在线| 麻豆国产va免费精品高清在线| 插插插亚洲综合网| 日韩中文娱乐网| 精品亚洲国产成av人片传媒| 色无极亚洲影院| 美女精品久久久| 伊人久久久久久久久久久久久| 日韩欧美在线看| 欧美久久精品一级黑人c片| 丰满岳妇乱一区二区三区| 亚洲一区精品电影| 亚洲色图五月天| 亚洲人成电影在线| 亚洲区中文字幕| 国产精品视频午夜| 亚洲伊人一本大道中文字幕| 亲爱的老师9免费观看全集电视剧| 亚洲影院色无极综合| 91大神福利视频在线| 亚洲免费电影一区| 国产精品美女在线| 欧美性猛交xxxx偷拍洗澡| 亚洲专区中文字幕| 国产偷国产偷亚洲清高网站| 日韩中文字幕免费看| 91性高湖久久久久久久久_久久99| 国产精自产拍久久久久久蜜| 亚洲欧美日韩综合| 国产精品久久久久久久久免费看| 国产精品高潮呻吟久久av野狼| 日韩美女视频在线观看| 欧美日韩国产专区| 亚洲自拍av在线| 欧美性猛交xxxx黑人| 国产福利精品视频| 精品电影在线观看| 欧美国产在线视频| 伊人久久大香线蕉av一区二区| 日韩电影在线观看免费| 欧美精品久久久久久久| 热re99久久精品国产66热| 亚洲女人初尝黑人巨大| 中文字幕精品国产| 91精品国产色综合| 亚洲 日韩 国产第一| 亚洲视频日韩精品| 亚洲91av视频| 国产精品久久久久久久久久久不卡| 亚洲精品国产免费| 91精品国产91久久久久久吃药| 成人自拍性视频| 日韩激情av在线播放| 国产精品黄页免费高清在线观看| 国产精品一区二区av影院萌芽| 中文一区二区视频| 亚洲欧美精品suv| 国产成人亚洲综合91| 国产97在线|日韩| 亚洲欧美日韩精品久久亚洲区| 亚洲jizzjizz日本少妇| 欧美日韩免费观看中文| 亚洲欧美中文日韩在线| 琪琪亚洲精品午夜在线| 欧美精品亚州精品| 久久中文字幕在线视频| 中文字幕亚洲一区| 国产裸体写真av一区二区| 国产欧洲精品视频| 亚洲香蕉伊综合在人在线视看| 亚洲字幕一区二区| 久久免费高清视频| 亚洲性av网站| 欧美尺度大的性做爰视频| 久久精视频免费在线久久完整在线看| 91欧美精品午夜性色福利在线| 成人夜晚看av| 国产这里只有精品| 亚洲免费小视频| 欧美二区在线播放| 欧美巨乳在线观看| 国产精品福利在线观看网址| 欧美激情一区二区三区在线视频观看| 亚洲精品中文字| 亚洲高清在线观看| 精品无人区乱码1区2区3区在线| 久久久免费观看视频| 亚洲第一页中文字幕| 98午夜经典影视| 国产精品视频播放| 91精品国产高清久久久久久久久| 亚洲精品美女久久久| 中文字幕亚洲天堂| 欧美精品videossex性护士| 欧美精品在线第一页| 欧美激情第99页| 久久色在线播放| 欧美日韩日本国产| 欧美日韩激情美女| 午夜精品视频网站| 最近日韩中文字幕中文| 91精品国产乱码久久久久久蜜臀| 国产伦精品免费视频| 欧美成人精品激情在线观看| 国产啪精品视频网站| 欧美日韩午夜激情| 亚洲欧美一区二区三区四区| 欧美性在线视频| 久久久久久一区二区三区| 欧美激情精品久久久久久久变态| 欧美性生活大片免费观看网址| 另类色图亚洲色图| 久久久国产成人精品| 中文字幕综合一区| 亚洲第一色在线| 中文字幕日韩免费视频| 精品成人久久av| 成人欧美一区二区三区黑人| 精品亚洲男同gayvideo网站| 尤物九九久久国产精品的特点| 97在线观看免费高清| 久久精品国产2020观看福利| 麻豆国产va免费精品高清在线| 自拍偷拍亚洲欧美| 日本亚洲欧美三级| 日本中文字幕成人| 欧美在线免费看| 91欧美视频网站| 成人激情视频在线| 久久久久久九九九| 91精品视频在线| 九色精品免费永久在线| 国产精品永久在线| 亚洲新中文字幕| 福利二区91精品bt7086| 亚洲精品日韩丝袜精品|