StoreContext.GetAppAndOptionalStorePackageUpdatesAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取当前应用的包集合,这些包具有可从Microsoft Store下载的更新,包括应用的可选包。
public:
virtual IAsyncOperation<IVectorView<StorePackageUpdate ^> ^> ^ GetAppAndOptionalStorePackageUpdatesAsync() = GetAppAndOptionalStorePackageUpdatesAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IVectorView<StorePackageUpdate>> GetAppAndOptionalStorePackageUpdatesAsync();
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IReadOnlyList<StorePackageUpdate>> GetAppAndOptionalStorePackageUpdatesAsync();
function getAppAndOptionalStorePackageUpdatesAsync()
Public Function GetAppAndOptionalStorePackageUpdatesAsync () As IAsyncOperation(Of IReadOnlyList(Of StorePackageUpdate))
返回
成功完成后,异步操作将返回 一组 StorePackageUpdate 对象,这些对象表示具有可用更新的包。
- 属性
例外
如果异常的 ErrorCode 属性具有值0x80070578(ERROR_INVALID_WINDOW_HANDLE),则表示未在 UI 线程上调用该方法。 如果在使用桌面桥的桌面应用程序中调用此方法,则这也表示未配置 <xref href=“Windows。Services.Store.StoreContext?text=StoreContext“ /> 对象,用于指定此方法显示的模式对话框的所有者窗口。 有关详细信息,请参阅 本文。
当Microsoft Store服务不可用或未正确配置时,该方法可能会引发异常。 常见方案包括:- “对象服务器在 OLE 服务联系它时停止”:此错误通常在Microsoft Store服务未运行、正在关闭或Windows应用商店基础结构出现问题时发生。 如果: - Windows应用商店应用未安装或已损坏 - Microsoft Store服务已禁用或未运行 - 访问应用商店服务的权限问题 - 系统处于关闭或启动期间不一致的状态 - Service 不可用错误:网络连接问题或Microsoft Store服务中断可能导致操作失败。
注解
有关使用此方法的详细信息,包括代码示例,请参阅 下载和安装应用的包更新。
调用 GetAppAndOptionalStorePackageUpdatesAsync 以确定哪些包可用,可以调用 RequestDownloadStorePackageUpdatesAsync 下载更新的包,也可以调用 RequestDownloadAndInstallStorePackageUpdatesAsync 下载并安装更新的包。
先决条件和环境要求
若要使此方法正常工作,必须满足以下条件:
- Microsoft Store app:必须在系统上安装Microsoft Store应用并正常运行。
- Microsoft 帐户:虽然不需要登录Microsoft 帐户来检查更新,但某些方案可能需要身份验证。
- 存储服务:必须运行和访问Microsoft Store许可和更新服务。
- Network 连接:与Microsoft Store服务通信需要有效的 Internet 连接。
分配的访问模式兼容性
此方法可在“分配访问”(展台)模式下使用,但以下注意事项适用:
- 分配的访问权限帐户必须有权访问Microsoft Store服务。
- 必须将网络访问配置为允许与Microsoft Store终结点通信。
- 某些应用商店 UI 元素可能会受到限制,具体取决于分配的访问配置。
错误处理建议
调用此方法时,建议实现正确的错误处理:
try
{
var updates = await storeContext.GetAppAndOptionalStorePackageUpdatesAsync();
// Process updates
}
catch (System.Runtime.InteropServices.COMException ex)
{
// Handle COM-related errors (e.g., threading issues)
}
catch (System.Exception ex)
{
// Handle Store service errors (e.g., service unavailable)
// Log the error and implement appropriate retry logic
}
Important
可选包和可下载内容 (DLC) 包不适用于所有开发人员帐户。
更新可用性
在合作伙伴中心发布应用更新后,包通过认证的时间和 GetAppAndOptionalStorePackageUpdatesAsync 方法识别更新是否可用之间可能存在短暂的延迟。 大多数更新在几个小时内可用,但在某些情况下,某些发布和分发步骤可能需要更长的时间才能完成。
检测频率
此 API 限制检查新更新的频率。 当应用调用方法的频率高于允许的速率时,该方法将返回最后一个已知状态,而不是执行新的检查。
当前限制为:
- 每 30 分钟检查一次不超过一次。
- 在任何 24 小时内不超过 10 次检查。
如果应用超过这些限制,则该方法将继续返回以前的状态,直到适用的时间范围通过。