我正在为客户端开发业务线应用程序。客户端指定了本来应该使用的设备(某些带有Windows 8.1的戴尔平板电脑)。现在,开发几乎完成了,我们准备发布第一阶段的应用程序,客户告诉我们他们已经改变了主意,所有戴尔平板电脑都将运行Windows 10.我升级了一款用于开发的平板电脑并测试到Windows 10。平板电脑使用RESTful Web API来访问存储在存储库中的数据。很显然,在应用程序可以从存储库中检索任何数据之前,必须在应用程序的设置中配置Web API的URL。 因此,我创建应用程序包以在平板电脑上装载应用程序。安装工作正常,该应用第一次启动良好。我进入设置,设置网址并关闭应用程序。 当我尝试重新启动时,该应用程序卡住显示启动画面。如果我尝试访问“设置”,则会通知我当时的应用设置不可用。解决这个问题的唯一方法是卸载应用程序并重新安装。访问Windows 10中的本地设置
这是我用它来保存和检索设置代码:
public void SaveSetting<T>(string settingName, T value)
{
ApplicationData.Current.LocalSettings.Values[settingName] = value;
}
public T GetSetting<T>(string settingName)
{
var localSettings = ApplicationData.Current.LocalSettings.Values;
if (localSettings.ContainsKey(settingName))
{
var value = localSettings[settingName];
if (value is T)
{
return (T)value;
}
}
// else, in all other cases
return default(T);
}
我注意到一个有趣的事情是,有时,这取决于我尝试在设置信息的保存,应用程序启动。例如,我正在玩它,并试图保存一些垃圾,而不是正确的URL。因此,而不是“http://x.x.x.x:nnnnn”我保存了“a”。该应用程序启动正确,我通过了启动画面,但显然,我无法获得任何数据。
关于究竟发生了什么的任何想法?本地设置的访问方法是否在Windows 10中更改?
过去几天里我一直在为此挠头。最初,我认为这是创建本地设置文件的权限问题,因此我从这个角度投入了大量精力试图找到解决方案。但是,正如我所说的,如果我在设置中转储了一些垃圾,它就会起作用,所以这不是权限问题。难道它和IP地址像“x.x.x.x”需要以不同于字符串的方式保存吗?
任何意见将不胜感激。
TIA, 埃迪
在我添加了一些日志到我的应用程序后,我能够证明应用程序没有读取设置的问题。这是它试图对他们做的事情,它不起作用。从设置中读取的URL是正确的,但是当应用程序试图调用Web API时,调用引发异常,应用程序停止工作。这个论坛的经理之一可以关闭这个问题吗?谢谢,埃迪 – Eddie