如何运行 UWP 后台任务在单独的进程中?
How to run UWP background tasks in seperate processes?
在声明了多个不同的后台任务扩展的应用中,为了资源分离和稳定性,我如何控制哪些任务可以共享一个托管进程,哪些不能?
在扩展节点上使用 ResourceGroup 属性 来指定哪些任务可以 运行 在一起,哪些任务需要 运行 在一个单独的进程:
<Extensions>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.SessionConnectedTriggerTask"
ResourceGroup="foo">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.TimeZoneTriggerTask"
ResourceGroup="foo">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.TimerTriggerTask"
ResourceGroup="bar">
<BackgroundTasks>
<Task Type="timer" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.ApplicationTriggerTask"
ResourceGroup="bar">
<BackgroundTasks>
<Task Type="general" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.MaintenanceTriggerTask"
ResourceGroup="foobar">
<BackgroundTasks>
<Task Type="general" />
</BackgroundTasks>
</Extension>
</Extensions>
在声明了多个不同的后台任务扩展的应用中,为了资源分离和稳定性,我如何控制哪些任务可以共享一个托管进程,哪些不能?
在扩展节点上使用 ResourceGroup 属性 来指定哪些任务可以 运行 在一起,哪些任务需要 运行 在一个单独的进程:
<Extensions>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.SessionConnectedTriggerTask"
ResourceGroup="foo">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.TimeZoneTriggerTask"
ResourceGroup="foo">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.TimerTriggerTask"
ResourceGroup="bar">
<BackgroundTasks>
<Task Type="timer" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.ApplicationTriggerTask"
ResourceGroup="bar">
<BackgroundTasks>
<Task Type="general" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.backgroundTasks"
EntryPoint="BackgroundTasks.MaintenanceTriggerTask"
ResourceGroup="foobar">
<BackgroundTasks>
<Task Type="general" />
</BackgroundTasks>
</Extension>
</Extensions>