如何在通用Windows应用程序中使用配置设置

本文关键字:配置 设置 应用程序 Windows | 更新日期: 2023-09-27 18:15:05

我有一个通用的windows应用程序,它部署到Raspberry PI 3与windows iOT Core, PI 3可以有许多传感器连接,因此这些传感器需要与Azure iOT Hub注册,为了做到这一点,我用设备资源管理器手动注册它们,然后在我创建的XML文件上,我把设备密钥和其他配置设置。

通过这种方式,PI可以使用配置文件中的DeviceKey,传感器读取数据,然后将数据发送到IOT HUB。

小菜一碟。

但是我不知道这种配置方式是否是通用windows应用程序的最佳实践,首先,我不知道如何在安装包之前编辑该XML文件,或者在安装后我不知道在哪里找到该文件并在应用程序运行之前编辑它。

问题很简单:这是不是最佳实践?如果是,我如何在部署前编辑该文件,请记住,相同的应用程序将安装在100个设备上,XML文件将是不同的,如果没有,,什么是最佳实践?

如何在通用Windows应用程序中使用配置设置

我的做法是:

我将在RPi3的UWP应用程序中嵌入一个"注册功能",当应用程序启动时,它将检测devicekey是否保存在本地,如果不是,它将初始化注册过程,否则它将继续它应该做的事情。

我将在UWP应用程序中嵌入注册的一般信息,当进程被触发时,它将连接到Azure IoT Hub以检索设备列表,并随机(不是那么随机)生成"devicename"answers"devicekey",将新生成的设备注册到Azure IoT Hub。请记住在RPi3中保存"devicename"answers"devicekey",以便您可以与设备通信。

我又做了一步,那就是,我将有一个RPi3的UI,当我将RPi3连接到监视器时,我可以有一个"重置"设备的选项,所以它将从Azure IoT Hub"删除"answers"取消注册",并再次重新启动注册过程。

使用TPM作为安全/凭证,因为这从设备中提取连接凭证,一旦在设备上配置,不需要任何设备特定的编码(即没有连接字符串)。在这个视频的中间部分:Channel9

我同意@Snake Chia。

也许你可以试试这个练习:

在IOT HUB中共享一个设备,您只需要一组配置设置,因此在部署应用程序时不需要编辑配置文件。使用消息的一个数据字段来区分不同的传感器。在Azure端,Azure流分析可以帮助您处理来自传感器设备的数据。