Windows 应用 SDK不支持进程内应用服务

在 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 调用功能。 由于代码在同一进程中运行,因此直接调用共享类或方法,而不是通过进程间通信路由调用。