ABP源碼分析三十三:ABP.Web

ABP.Web模塊並不複雜,主要完成ABP系統的初始化和一些基礎功能的實現。javascript

AbpWebApplication : 繼承自ASP.Net的HttpApplication類,主要完成下面三件事
一,在Application_Start完成AbpBootstrapper的初始化。整個ABP系統的初始化就是經過AbpBootstrapper完成初始化的。
二,在Application_BeginRequest設置根據request或cookie中的Culture信息,完成當前工做線程的CurrentCulture和CurrentUICulture的設置。
三,在Application_AuthenticateRequest設置TenantId到claimsIdentity的Claim中。html

 

 

 

AbpWebModuleConfiguration/IAbpWebModuleConfiguration: 定義了一個SendAllExceptionsToClients配置項java

 

 

AbpWebModule: 繼承自AbpModule,完成Abp.Web模塊的初始化。初始化主要幹兩件事:web

第一,Register Assembly by convention,這是全部模塊都要在初始化完成的動做。ajax

第二,將資源文件中的本地化數據添加到底層框架中的LocalizationManager維護的一個ILocalizationSource對象的字典中。cookie

 

 

 

WebAssemblyFinder : 實現了IAssemblyFinder的GetAllAssemblies方法,用於獲取當前web項目所引用的非原生的assembly。session

 

WebAuditInfoProvider: 實現了底層框架中的IAuditInfoProvider接口。主要提供BrowserInfo,ClientIpAddress和ClientName。這三個信息來自HttpContext。app

 

 

IFeaturesScriptManager/FeaturesScriptManager:用於返回一段javascript代碼,該代碼中的abp.features包含了當前訪問用戶的Tenant的全部Feature信息。框架

IAuthorizationScriptManager/AuthorizationScriptManager :用於返回一段javascript代碼,該代碼中的abp.auth包含了當前訪問用戶的全部Permission信息。ide

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源碼分析系列文章目錄

相關文章
相關標籤/搜索