我想在配置文件中存储API密钥而不将其检入源代码控制,并在我的UWP应用程序中读取数据 .
一个常见的解决方案是将密钥存储在.config文件中(例如 app.config
或 web.config
)并像这样访问它:
var apiKey = ConfigurationManager.AppSettings.Get("apiKey");
我'm working on a Universal Windows (UWP) app and can' t访问保存 ConfigurationManager
的System.Configuration命名空间 .
如何在UWP应用程序中访问AppSettings?或者,在UWP应用程序中访问配置数据的最佳方法是什么?
3 回答
在我的特定用例中,我需要使用未由源代码控制跟踪的外部文件 . 有两种方法可以从资源或配置文件中访问数据 .
一种是打开并解析配置文件 . 给定一个文件
sample.txt
与 Build ActionContent
( Copy to Output Directory 无关紧要),我们可以用要么
其次是
或者,我们可以使用 Resources . 将新资源项添加到项目中,名为
resourcesFile.resw
. 要访问数据,请使用:我在博客文章中写了更详细的答案Custom resource files in UWP
我认为你所谓的“ApiKey”是API为你提供生成访问令牌的静态密钥 . 如果是这种情况,也许最好的方法是在源代码控件中创建一个带有该值的静态类,如下所示:
然后,您可以从代码中轻松访问该值:
如果要将值存储在纯文本文件中,则必须使用
StorageFile
和FileIO
类手动编写/读取它 .相反,如果"ApiKey"表示动态访问令牌,那么最好的解决方案是使用
ApplicationDataContainer
,正如战略所说 .您无需创建配置文件 . UWP具有存储本地设置/配置的内置解决方案 . 请查看本教程:
https://msdn.microsoft.com/en-us/library/windows/apps/mt299098.aspx
使用ApplicationDataContainer,您将能够按键获取值: