【转】ABP源码分析三十三:ABP.Web
ABP.Web模塊并不復雜,主要完成ABP系統的初始化和一些基礎功能的實現。
AbpWebApplication?: 繼承自ASP.Net的HttpApplication類,主要完成下面三件事
一,在Application_Start完成AbpBootstrapper的初始化。整個ABP系統的初始化就是通過AbpBootstrapper完成初始化的。
二,在Application_BeginRequest設置根據request或cookie中的Culture信息,完成當前工作線程的CurrentCulture和CurrentUICulture的設置。
三,在Application_AuthenticateRequest設置TenantId到claimsIdentity的Claim中。
?
?
?
AbpWebModuleConfiguration/IAbpWebModuleConfiguration: 定義了一個SendAllExceptionsToClients配置項
?
?
AbpWebModule: 繼承自AbpModule,完成Abp.Web模塊的初始化。初始化主要干兩件事:
第一,Register Assembly by convention,這是所有模塊都要在初始化完成的動作。
第二,將資源文件中的本地化數據添加到底層框架中的LocalizationManager維護的一個ILocalizationSource對象的字典中。
?
?
?
WebAssemblyFinder?: 實現了IAssemblyFinder的GetAllAssemblies方法,用于獲取當前web項目所引用的非原生的assembly。
?
WebAuditInfoProvider: 實現了底層框架中的IAuditInfoProvider接口。主要提供BrowserInfo,ClientIpAddress和ClientName。這三個信息來自HttpContext。
?
?
IFeaturesScriptManager/FeaturesScriptManager:用于返回一段javascript代碼,該代碼中的abp.features包含了當前訪問用戶的Tenant的所有Feature信息。
IAuthorizationScriptManager/AuthorizationScriptManager?:用于返回一段javascript代碼,該代碼中的abp.auth包含了當前訪問用戶的所有Permission信息。
IMultiTenancyScriptManager/MultiTenancyScriptManager?: 用于返回一段javascript代碼,該代碼中的abp.multiTenancy包含了當前MultiTenancy的配置信息。
INavigationScriptManager/NavigationScriptManager?: 用于返回一段javascript代碼,該代碼中的abp.nav包含了當前訪問用戶的所有Navigation信息。
ISessionScriptManager/SessionScriptManager?: 用于返回一段javascript代碼,該代碼中的abp.session包含了當前訪問用戶的所有session信息(userId,tenantId,impersonatorUserId,impersonatorTenantId,multiTenancySide)。
ISettingScriptManager/SettingScriptManager?: 用于返回一段javascript代碼,該代碼中的abp.setting包含了當前訪問用戶的所有setting信息
?
?
ErrorInfo:用于封裝error的信息
ValidationErrorInfo:用于封裝Validation Error的信息
IExceptionToErrorInfoConverter/DefaultErrorInfoConverter?: 該接口和其默認的實現用于將CLR的exception轉換為ABP中的ErrorInfo。
IErrorInfoBuilder/ErrorInfoBuilder?: 該接口和其實現通過調用IExceptionToErrorInfoConverter對象將將CLR的exception轉換為ABP中的ErrorInfo。
AjaxResponse?/AjaxResponse<object>:?用于封裝針對ajax requests的Response信息。
?
返回ABP源碼分析系列文章目錄
總結
以上是生活随笔為你收集整理的【转】ABP源码分析三十三:ABP.Web的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 民生白条联名卡额度共享吗
- 下一篇: 熊出没?国际油价暴跌,全球口罩疯涨,美国