91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

abp模塊生命周期是什么

發布時間:2021-12-24 09:17:24 來源:億速云 閱讀:114 作者:iii 欄目:大數據

這篇文章主要講解了“abp模塊生命周期是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“abp模塊生命周期是什么”吧!

abp中將生命周期事件抽象為4個接口:

//預初始化
public interface IOnPreApplicationInitialization
{
   void OnPreApplicationInitialization([NotNull] ApplicationInitializationContext context);
}

//初始化
public interface IOnApplicationInitialization
{
   void OnApplicationInitialization([NotNull] ApplicationInitializationContext context);
}

//初始化完成
public interface IOnPostApplicationInitialization
{
   void OnPostApplicationInitialization([NotNull] ApplicationInitializationContext context);
}

//關閉
public interface IOnApplicationShutdown
{
   void OnApplicationShutdown([NotNull] ApplicationShutdownContext context);
}

abp定義了一個模塊生命周期接口,該接口只有兩個方法,用于初始化和關閉。

public interface IModuleLifecycleContributor : ITransientDependency
{
   void Initialize([NotNull] ApplicationInitializationContext context, [NotNull] IAbpModule module);

   void Shutdown([NotNull] ApplicationShutdownContext context, [NotNull] IAbpModule module);
}

這個接口的參數是IAbpModule接口的類型,也就是派生自AbpModule的模塊類型。該接口有一個默認實現,是一個抽象類,主要是用于復用。

public abstract class ModuleLifecycleContributorBase : IModuleLifecycleContributor
{
   public virtual void Initialize(ApplicationInitializationContext context, IAbpModule module)
   {
   }

   public virtual void Shutdown(ApplicationShutdownContext context, IAbpModule module)
   {
   }
}

abp根據四個生命周期分別有四個類型,這四個類型是基于模塊生命周期基類創建的。

public class OnApplicationInitializationModuleLifecycleContributor : ModuleLifecycleContributorBase
{
   public override void Initialize(ApplicationInitializationContext context, IAbpModule module)
   {
       (module as IOnApplicationInitialization)?.OnApplicationInitialization(context);
   }
}

public class OnApplicationShutdownModuleLifecycleContributor : ModuleLifecycleContributorBase
{
   public override void Shutdown(ApplicationShutdownContext context, IAbpModule module)
   {
       (module as IOnApplicationShutdown)?.OnApplicationShutdown(context);
   }
}

public class OnPreApplicationInitializationModuleLifecycleContributor : ModuleLifecycleContributorBase
{
   public override void Initialize(ApplicationInitializationContext context, IAbpModule module)
   {
       (module as IOnPreApplicationInitialization)?.OnPreApplicationInitialization(context);
   }
}

public class OnPostApplicationInitializationModuleLifecycleContributor : ModuleLifecycleContributorBase
{
   public override void Initialize(ApplicationInitializationContext context, IAbpModule module)
   {
       (module as IOnPostApplicationInitialization)?.OnPostApplicationInitialization(context);
   }
}

只有"關閉應用"這個生命周期實現Shutdown方法,其余的都是實現Initialize方法。最后是傳入的參數abp模塊去調用對應的生命周期。
剖析圖如下:
abp模塊生命周期是什么

感謝各位的閱讀,以上就是“abp模塊生命周期是什么”的內容了,經過本文的學習后,相信大家對abp模塊生命周期是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

abp
AI

比如县| 谢通门县| 元朗区| 建湖县| 乡城县| 武穴市| 郎溪县| 沙河市| 安塞县| 洛隆县| 通榆县| 社旗县| 日土县| 常山县| 炉霍县| 安国市| 竹溪县| 宽甸| 大同县| 宁国市| 龙门县| 奉节县| 花莲县| 庄浪县| 乐至县| 湘潭市| 株洲县| 固始县| 江阴市| 鄂托克前旗| 信宜市| 兴化市| 宁晋县| 息烽县| 绥棱县| 昌江| 揭阳市| 朝阳区| 留坝县| 宝山区| 噶尔县|