2016-07-25 67 views
0

我正在为客户端开发业务线应用程序。客户端指定了本来应该使用的设备(某些带有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, 埃迪

+0

在我添加了一些日志到我的应用程序后,我能够证明应用程序没有读取设置的问题。这是它试图对他们做的事情,它不起作用。从设置中读取的URL是正确的,但是当应用程序试图调用Web API时,调用引发异常,应用程序停止工作。这个论坛的经理之一可以关闭这个问题吗?谢谢,埃迪 – Eddie

回答

0

后,我加入了一些日志记录,以我的应用程序能够证明该应用程序没有问题,阅读的设置。这是它试图对他们做的事情,它不起作用。从设置中读取的URL是正确的,但是当应用程序试图调用Web API时,调用引发异常,应用程序停止工作。所以这首先不应该成为一个问题。 谢谢,埃迪