- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Debug模式和 Release模式下,模拟器和真实设备都会发生这种情况。
在应用程序中,我成功地存储了几个应用程序设置——从简单的值类型到更复杂的对象和对象列表。
使用“WP POWER TOOLS”,我可以在 IsolatedStorage 的根目录中跟踪文件“__ApplicationSettings”。它“填满了”——在第一行中我找到了一些定义复杂类型定义的类和程序集,在 XML 下方以 <ArrayOfKeyValueOfstringanyType...>
开头。所以,到目前为止,一切对我来说都很正常。当我关闭我的应用程序时,最后一段运行代码 是 App.xaml.cs 中的“Application_Closing”-Handler。在这一刻,我可以最后一次检查 ApplicationSettings - 一切正常。例如:我检查条目数:
var count = System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings.Count;
...计数正确,键/值正确。
然后 - 我立即重新启动应用程序(Visual-Studio-Debugging 不会中断)并且 第一段运行代码 是 App 中的 ctor App() .xaml.cs.
在第一行中,我再次检查了 ApplicationSettings-Entries 的计数,并且:它是 0 !!!
但是:WP POWER TOOLS 仍然告诉我,“__ApplicationSettings”-文件存在并且仍然像以前一样填充。(此错误的后果是,第一次尝试再次保存任何设置时,整个 __ApplicationSettings-File 将被覆盖并仅包含一个新设置。)
那么是什么阻止了应用程序“使用”现有的“__ApplicationSettings”-File???
提前致谢!
(PS 1:我已经经历过,当保存设置时发生异常时,所有 ApplicationSettings 都被销毁。我已经调查了所有这些,并且 99.9% 确定,不再有异常。)
(PS 2:澄清一下:事实并非如此,完整的 IsolatedStorage 已经消失了。我还有另一个用于日志记录的文件,我写入了 IsolatedStorage 的根目录。这个文件总是那里。而且 __ApplicationSettings 文件没有被“删除”,看起来,应用程序在启动时没有“读取”它。)
最佳答案
我用我的一个应用程序尝试了重现场景并确认了我的预期,即 IsolatedStorageSettings.ApplicationSettings.Count
在第二次运行该应用程序时进入 App() ctor 时是非零的在同一个模拟器进程中。所以你也有希望达到这个理想状态!
由于您报告 _ApplicationSettings 文件不为空,我猜有 2 种可能性:也许应用程序(或其他进程?)在应用程序的第二次运行尝试打开文件时保持 _ApplicationSettings 文件打开阅读? MSFT 没有记录读取是如何完成的,所以也许文件是用 FileShare.None 或 FileShare.Read 打开的,但其他一些进程仍然打开文件进行写入?我不知道如何在模拟器上测试这个,但在真实设备上你可以尝试这个场景:
在 2) 之后,我相信没有其他进程可以打开该文件,因此该应用程序应该能够不受干扰地读取其内容。但是如果你发现它在3)中仍然是0计数,那么还有另一种可能:
也许重新启动的应用程序在尝试将文件中的设置反序列化到您的数据结构时遇到错误?当应用程序首次运行退出时,该错误可能不会阻止数据被序列化。
要检查这种可能性,首先在“输出”、“调试”窗口中查找错误消息。第二次重新启动应用程序时是否看到任何错误?
如果您没有看到任何有用的错误消息,接下来要尝试的是简化保存为设置的数据结构。尝试减少到只有一个简单类型的设置,例如 int 或 string。查看是否可以正确恢复,然后将更多设置添加回文件,直到找到导致问题的设置。
关于c# - IsolatedStorageSettings.ApplicationSettings 在 App-Restart (WP8) 后被关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20803515/
我的 Windows 使用 Ubuntu 设置了 WSL。它已经工作了一段时间,直到我升级到 WSL2。 问题是:每次我启动我的电脑(或重新启动我的电脑)时,它都会失去从 Ubuntu 到 Windo
我正在使用 docker 版本 1.1.0,由 systemd 使用命令行启动 /usr/bin/docker -d ,并试图: 运行容器 停止 docker 服务 重新启动 docker 服务(使用
鉴于以下(为了论证而简化)docker-compose.yml文件: version: '3' services: postgres: image: fleetit-postgres
我使用 Vertx SockJs 构建了一个 Eventbus 桥。 这是我的verticle的代码: @Override public void start() throws Exception {
使用docker stack deploy,我可以看到如下信息: Ignoring unsupported options: restart 是否意味着重启政策没有到位? 是否必须在撰写文件之外指定它
我们的 Varnish 实例 /usr/sbin/varnishd -P /var/run/varnish.pid -a :6081 -f /etc/varnish/cm-varnish.vcl -
Varnish 是否保留崩溃/重启日志? 我目前正在监控一个 varnish 服务器,它似乎每周都会重新启动,当 CPU 使用率达到大约 100%(负载有点高 - 在 2 核机器上大约 6~7)并且
我有一个 Android 应用程序,在您第一次运行时运行良好。但是,当您按 HOME(因此暂停)并从主屏幕重新启动它时,我得到的只是音乐重新启动。 我还没有进入保存/恢复状态的阶段(很快就会完成!)。
我的应用程序有一个服务,每 X 分钟对数据库执行与 stopSelf() 相同的操作,并进入 onDestroy 方法我已经放置了这段代码以便在同一时间后重新启动服务: @Override publi
复制代码 代码如下: '******************************************************************** '* '* 
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我检查了我在 ECS 集群中运行的一个 docker 容器,它的重启策略为空白(“{{ .HostConfig.RestartPolicy.Name }}”)。我不确定 ECS 在发生故障时会做什么,
我用 Google Cloud Shell运行 Jupyter Notebook在实例上,但在 1 hours 之后,连接断开。 我重新连接到实例,什么都没有,与重置实例相同。 So, please
Java中是否有任何命令或程序可以重新启动我的应用程序本身? 我开发了一个 Java 桌面应用程序,但过了一段时间它就会挂起。我不知道为什么,所以我想重新启动我的应用程序本身。是否可以? 最佳答案 你
我已经创建了一个容器,却忘记了在创建容器时设置--restart ='always'。 是否可以为已经创建的容器修改此选项?我知道我可以创建一个新的,但这很有用,因为它发生在我身上好几次了... 最佳
是否可以使用 pm2 重新启动特定组的应用程序?像 pm2 restart service-* 重新启动 service-a 和 service-b 之类的东西?我发现 pm2 restart ser
我是一个刚开始使用C++编写代码已经有几个星期了。我已经编写了一个程序来拥有一个菜单,用户可以从中选择执行不同任务的选项。我有两个问题:首先,我该如何做,以便在执行任务后将用户发送回菜单;其次,当用户
所以我有一个应用程序,用户通过 3 个 View Controller 然后向 Facebook 提交图片。在他们将其提交到 Facebook 后,我希望他们能够选择重新启动该过程,就好像他们重新启动
我正在尝试构建一个 hadoop Dockerfile。 在构建过程中,我添加了: && apt install -y openssh-client \ && apt install -y o
当您运行docker run时,可以选择添加--rm和--restart。但是,如何在dockerfile中获得相同的效果? 最佳答案 Dockerfile用于指定构建镜像的指令。 生成镜像后,可以使
我是一名优秀的程序员,十分优秀!