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 Store 基礎架構出現問題時。 這種情況可能發生於以下情況:- Windows Store 應用程式未安裝或損壞 - Microsoft Store 服務被停用或未執行 - 存取 Store 服務時有權限問題 - 系統在關機或啟動時處於不穩定狀態 - Service 無法使用錯誤:網路連線問題或Microsoft Store服務中斷可能導致營運失敗。
備註
如需更多使用此方法的資訊,包括程式碼範例,請參閱 您的應用程式的下載與安裝套件更新。
當你呼叫 GetAppAndOptionalStorePackageUpdatesAsync 以確認哪些套件有可用的更新後,你可以呼叫 RequestDownloadStorePackageUpdatesAsync 下載更新後的套件,或呼叫 RequestDownloadAndInstallStorePackageUpdatesAsync 下載並安裝更新後的套件。
前置條件與環境需求
此方法要正確運作,必須符合以下條件:
- Microsoft Store 應用程式:Microsoft Store 應用程式必須已安裝並能在系統上運作。
- Microsoft 帳戶:雖然登入Microsoft 帳戶並非強制檢查更新,但某些情境可能需要驗證。
- Store 服務:Microsoft Store授權與更新服務必須持續運作且可存取。
- 網路連線:與Microsoft Store服務通訊需有主動的網際網路連線。
指定存取模式相容性
此方法可用於指定存取(自助服務機)模式,但需注意以下事項:
- 指定的存取帳號必須有權限存取 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)套件。
更新可用狀態
在 Partner Center 發布應用程式更新後,套件通過認證與 GetAppAndOptionalStorePackageUpdatesAsync 方法辨識該更新可用之間可能會有短暫延遲。 大多數更新會在幾小時內開放,但某些發布和發佈步驟在某些情況下可能需要較長時間才能完成。
偵測頻率
這個 API 限制了它檢查新更新的頻率。 當應用程式呼叫該方法的頻率超過允許速率時,該方法會回傳最後已知狀態,而不會進行新的檢查。
目前限制如下:
- 每30分鐘檢查一次不超過一次。
- 在任何24小時內,檢查次數不得超過十個。
若應用程式超過這些限制,方法會持續回傳先前狀態,直到適用時間窗口結束。