AppExtensionCatalog.PackageUpdating 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
更新扩展包时触发的事件。
// Register
event_token PackageUpdating(TypedEventHandler<AppExtensionCatalog, AppExtensionPackageUpdatingEventArgs const&> const& handler) const;
// Revoke with event_token
void PackageUpdating(event_token const* cookie) const;
// Revoke with event_revoker
AppExtensionCatalog::PackageUpdating_revoker PackageUpdating(auto_revoke_t, TypedEventHandler<AppExtensionCatalog, AppExtensionPackageUpdatingEventArgs const&> const& handler) const;
public event TypedEventHandler<AppExtensionCatalog,AppExtensionPackageUpdatingEventArgs> PackageUpdating;
function onPackageUpdating(eventArgs) { /* Your code */ }
appExtensionCatalog.addEventListener("packageupdating", onPackageUpdating);
appExtensionCatalog.removeEventListener("packageupdating", onPackageUpdating);
- or -
appExtensionCatalog.onpackageupdating = onPackageUpdating;
Public Custom Event PackageUpdating As TypedEventHandler(Of AppExtensionCatalog, AppExtensionPackageUpdatingEventArgs)
事件类型
注解
此事件将标记包更新开始时间。 它位于 PackageUpdated 事件之前。 在大多数情况下,请将其视为 PackageUninstalling。
处理此事件的一个好方法是在处理 PackageUpdating 时将包中的关联扩展视为不可用,然后在处理 PackageUpdated 事件时重新加载它们。 这两个事件之间的时间通常小于一秒。
事件参数 AppExtensionPackageUpdatingEventArgs.Extensions 仅包含 Package 以及扩展的 Package.appxmanifest 文件中指定为 <uap3:AppExtension Name=...>
的扩展命名空间名称。 它不包含扩展列表。
处理 PackageUpdating 事件时,将正在更新的包与从该包加载的任何扩展匹配,以便跟踪哪些扩展现在可用。 这就是为什么你应该跟踪已加载的 AppExtensions 、它们所属的包,以及它们的唯一标识符,你可以将其用作键,如 AppExtensionCatalog.Open 的备注中所述。