C# Windows 10 uwp粘性后台服务?

C# Windows 10 uwp粘性后台服务?,c#,windows,service,background,uwp,C#,Windows,Service,Background,Uwp,我正在尝试将Android应用程序转换为Windows10UWP。在android上,它很简单:启动完成后,应用程序服务启动。它通过互联网连接到控制器,获取系统状态和所有数据(温度传感器、泵、阀门等),并将所有内容保存在内存中。前台应用程序可以在服务获取数据后立即获取数据,并实时显示值和图表。关闭前台应用程序后,服务继续工作,我仍然拥有所有系统状态,如果需要,我可以播放警报声 是否可以在Windows10UWP上实现[几乎]相同的功能 我找不到启动windows服务的方法。前台应用关闭时,前台应

我正在尝试将Android应用程序转换为Windows10UWP。在android上,它很简单:启动完成后,应用程序服务启动。它通过互联网连接到控制器,获取系统状态和所有数据(温度传感器、泵、阀门等),并将所有内容保存在内存中。前台应用程序可以在服务获取数据后立即获取数据,并实时显示值和图表。关闭前台应用程序后,服务继续工作,我仍然拥有所有系统状态,如果需要,我可以播放警报声

是否可以在Windows10UWP上实现[几乎]相同的功能

我找不到启动windows服务的方法。前台应用关闭时,前台应用启动的服务将停止。SocketBackgroundTask使连接保持完美,但系统状态随服务丢失

每次续订后是否应将系统状态保存到文件并分析所有数据?数据流从10分钟一次到每秒10次不等


或者我应该忘记Windows 10作为有限平台吗?

我正在设计一个类似的传感器控制软件,我发现UWP/Win10是有限的。我们最终求助于使用分配的访问权限来保持应用程序在前台的永久性

分配的访问权限 Assigned access将应用程序分配给帐户。因此,当Bob先生登录时,应用程序会全屏启动,无法关闭,如果崩溃,则会重新启动

请注意,访问系统其他部分的唯一方法是按ALT-CTRL-DEL并以其他用户身份登录。这对某些人来说可能不好,但如果你有关键的流程监控,那么用户不能干扰系统或退出应用程序可能是件好事

它的实现也非常简单,您只需要向应用程序清单添加声明,并且需要Win10 Pro或更高版本

Windows物联网 你也可以看看Windows10IoT,当你将一个应用程序部署到它上面时,它也会做几乎相同的事情。然而,硬件的范围非常有限,其中许多还没有完全发挥作用——RPi受到SD卡本身不可靠以及缺乏图形加速的影响。Dragonboard缺乏除720p等分辨率以外的驱动程序支持

扩展执行
此外,我们还尝试了使用扩展执行,这可以让应用程序在最小化状态下运行,可能是无限期的。我对此有复杂的感觉。虽然应用程序将在大部分时间内保持运行,但如果操作系统正在争夺资源,应用程序将被挂起,并且在用户切换回应用程序之前不会重新启动

Windows和Android的主要区别在于,Windows试图消除由于后台运行的东西而导致的电池消耗。这就是为什么后台任务有很多限制,比如CPU、内存和网络配额。也许您应该考虑将监视逻辑从后台服务移动到云中的服务器,并在必要时发送推送通知?推送通知可以触发后台任务,然后可以播放警报声并准备数据,以便在前台启动时立即可用。推送通知不是我的解决方案。我的应用程序是一个技术过程监视器,在windows 10上,就像在android上一样,似乎是不可能的,因为每次打开前台应用程序,我都必须检索完整的数据集。我很希望能有一个通用的桌面和移动应用程序。还有Xamarin帮助-android和windows的一个代码库。我需要修改微控制器逻辑以支持windows:(感谢您提供的有用答案:)您也可以使用每分钟运行一次的后台任务,时间非常短,或者至少每15分钟运行一次,如果这也有帮助的话?