Usługi aplikacji w procesie nie są obsługiwane w Zestaw SDK do aplikacji systemu Windows

W systemie UWP można było hostować usługę aplikacji w tym samym procesie co aplikację, przesłaniając OnBackgroundActivated w klasie Application. Zestaw SDK do aplikacji systemu Windows nie obsługuje tego wzorca.

Dlaczego usługi aplikacji działające w ramach procesu nie są dostępne

Microsoft.UI.Xaml.Application nie definiuje elementu OnBackgroundActivated override, a ExtendedActivationKind — wyliczenie używane przez aplikacje Zestaw SDK do aplikacji systemu Windows do sprawdzania, jak zostały aktywowane — nie ma składowej AppService. W związku z tym nie ma obsługiwanego sposobu, aby własny proces aplikacji Zestaw SDK do aplikacji systemu Windows mógł odbierać aktywację usługi aplikacji. Usługi aplikacji w pakiecie Zestaw SDK do aplikacji systemu Windows muszą zawsze działać jako zadanie w tle uruchomione poza procesem.

Co zamiast tego należy użyć

  • Aby udostępnić usługę aplikacji, zaimplementuj ją poza procesem. Utwórz oddzielny projekt składnika środowiska uruchomieniowego Windows, który implementuje IBackgroundTask, i odwołaj się do niego jako do EntryPoint w rozszerzeniu appService manifestu. Ten wzorzec działa zarówno w przypadku aplikacji UWP, jak i aplikacji dostawcy Zestaw SDK do aplikacji systemu Windows. Aby uzyskać instrukcje, zobacz Tworzenie i używanie usługi App Service.
  • Jeśli potrzebujesz tylko udostępniania danych lub funkcji wywoływania w tej samej aplikacji, nie potrzebujesz usługi app service ani AppServiceConnection w ogóle. Ponieważ kod jest uruchamiany w tym samym procesie, wywołaj klasę udostępnioną lub metodę bezpośrednio zamiast rozsyłać wywołanie za pośrednictwem komunikacji między procesami.