ABP 版本 9.2 迁移指南
本文档是将 ABP v9.x 解决方案升级到 ABP v9.2 的指南。此版本中有一些可能影响您的应用程序的更改,请仔细阅读并应用到您的应用程序中。
开源版(框架)
添加 ApplicationName 属性以隔离后台作业与后台工作者
当多个应用程序共享同一存储用于 ABP 的后台作业模块 时,一个应用程序的作业可能会对另一个应用程序可见。这可能导致以下问题:
- 应用程序可能尝试处理不属于它们的作业
- 这些尝试会因"未定义该作业名称的后台作业"错误而失败
- 失败的作业被标记为
IsAbandoned = true - 原始应用程序无法再处理这些已放弃的作业
为了解决此问题,我们向 AbpBackgroundJobWorkerOptions 类添加了 ApplicationName 属性。此属性允许您指定应用程序名称,有助于在不同应用程序之间隔离作业。(有关更多详细信息,请参见 PR。)
默认情况下没有破坏性更改。但是,您需要为数据库创建一个迁移,以向相关表添加 ApplicationName 列,并将其应用到您的数据库。
将 MongoDB.Driver 升级到 3.1.0
在此版本中,我们将 MongoDB.Driver 升级到了 3.1.0。要迁移您的应用程序,请参考我们的 MongoDB Driver 2 到 3 迁移指南 文档。
用自定义实现替换 Toastr(不依赖任何第三方库)
在此版本中,我们用不依赖任何第三方库的自定义实现替换了 Toastr。如果您正在使用 Toastr 库,这是一个破坏性更改。
以下是迁移步骤:
- 从您的应用程序中移除任何直接的 Toastr 依赖项
- 更新您的通知调用以使用新的 API
- 迁移任何自定义样式或配置
有关详细的实现指南和 API 文档,请参阅:
专业版(PRO)
在阅读本节之前,请检查**开源版(框架)**部分。列出的主题可能会影响您的应用程序,您可能需要处理它们。
如果您是付费许可证所有者并且正在使用 ABP 的付费版本,请遵循以下部分以了解破坏性更改并应用必要的更改:
Identity Pro 模块:注册时需要电子邮件验证
在此版本中,我们向 Identity Pro 模块添加了一项新设置,要求注册时进行电子邮件验证。这是一项防止垃圾注册的安全措施:
通常,无需进行任何更改。但是,如果您继承了 AccountAppService 类并实现了自己的逻辑,则需要更新您的构造函数以匹配新的签名,因为现在注入了两个新服务:
//为简洁起见,省略部分代码...
+ protected IDistributedCache<EmailConfirmationCodeCacheItem> EmailConfirmationCodeCache { get; }
+ protected IdentityErrorDescriber IdentityErrorDescriber { get; }
public AccountAppService(
- IdentityUserTwoFactorChecker identityUserTwoFactorChecker)
+ IdentityUserTwoFactorChecker identityUserTwoFactorChecker,
+ IdentityErrorDescriber identityErrorDescriber)
抠丁客



