东莞市连易网络科技有限公司
东莞市连易网络科技有限公司
  • 网站
  • 用户
  • 购物车
  • 购物车
  • 搜索
  • 网站
  • 用户
帮助
帮助
开发文档 插件生命周期
  • 用户文档
  • 开发文档
  • API文档
  • 提及
  • 标签
  • 更多
  • 取消
  • 新建
  • +开始
  • +UI 自定义
  • +外部集成
  • -插件/框架扩展
    • -插件
      • 异常和日志记录
      • 插件生命周期
      • +插件示例
    • +设置开发环境
    • +进程 API

插件生命周期

插件管理器协调插件启用和配置。它的管理生命周期从平台首次访问/启动时开始,一直持续到平台进程终止。

插件管理器生命周期

当需要初始化或重新初始化时,插件管理器将执行以下过程:

  1. 如果对启用的插件进行了更改,则会卸载全部刚禁用的可安装插件。
  2. 在 PluginManager 上触发 BeforeInitialization 事件 ,并且所有事件处理程序都未注册。
  3. 全部插件都将被卸载(插件管理器对插件的全部引用都将被删除,从而允许垃圾回收器清理插件的旧实例)。
  4. 全部启用的插件都是逐个实例化的。当它们被实例化时,可翻译的插件赋予翻译,可配置的插件赋予配置。
  5. 调用全部插件的 Initialize 方法。这是插件注册事件处理程序和与其他插件交互的适当时间。
  6. AfterInitialization 事件在 PluginManager 上触发,并且所有事件处理程序都已注册。
  7. 将安装任何刚启用或刚升级的可安装插件。

在重新加载插件时,平台利用分布式锁,确保一次只有一个平台实例(存在于每个Web节点和每个作业服务器节点上)执行插件重载。这可确保一次性操作(例如安装)仅对每个站点实例发生一次,而不是每个平台实例发生一次。

插件生命周期

从单个插件的角度来看,生命周期显示为

插件的位置

  1. 实例化。当插件管理器初始化或重新初始化插件时,将创建插件的新实例。
  2. 翻译。 可翻译的插件赋予翻译。
  3. 配置。 可配置的插件赋予配置。
  4. 初始化。所有插件都需要初始化。这是对进程 API 注册事件处理程序或通过 PluginManager 引用其他插件的适当时机.
  5. 安装。 如果以前未安装插件或以前安装过早期/更高版本,则会调用可安装插件的 Install 方法。
  6. 执行。允许所有插件正常执行。此时,平台将与特殊用途的插件进行交互,并且每当其注册事件触发时,插件都会收到通知。
  7. 释放。当插件管理器重新初始化时,它会删除对现有插件的全部引用,并允许 .NET 垃圾回收器清理未引用的插件。如果插件是可安装的并且刚刚被禁用,则将调用它的 Uninstall 方法。
  • 分享
  • 历史
  • 更多
  • 取消
相关
推荐
Copyright © 2021 东莞市连易网络科技有限公司. All rights reserved.
Powered by Limyee Commerce System(3.0.0). © 2014 - 2025 Limyee Inc.