在 UWP 中,您可以藉由在 Application 類別中覆寫 OnBackgroundActivated,在與應用程式相同的處理序中裝載應用程式服務。 Windows 應用程式 SDK 不支援這種模式。
為什麼正在進行的應用程式服務無法提供
Microsoft.UI.Xaml.Application未定義 OnBackgroundActivated 覆寫,而 ExtendedActivationKind——Windows 應用程式 SDK 應用程式用來判斷其啟用方式的列舉——也沒有 AppService 成員。 因此,Windows 應用程式 SDK 應用程式本身的流程無法接收應用程式服務啟用。 Windows 應用程式 SDK 上的應用程式服務必須始終作為非流程背景任務執行。
該用什麼代替
-
要提供應用程式服務,請在流程外實作。 建立一個獨立的 Windows 執行階段 元件專案來實作
IBackgroundTask,並在資訊清單的appService延伸模組中將其作為EntryPoint參考。 此模式適用於 UWP 與 Windows 應用程式 SDK 提供者應用程式。 關於步驟,請參見 「建立並消費應用程式服務」。 -
如果你只需要在同一個應用程式內分享資料或通話功能,那你根本不需要應用程式服務,甚至
AppServiceConnection根本不需要。 由於程式碼在同一程序中執行,請直接呼叫共享類別或方法,而非透過程序間通訊路由。