gpt4 book ai didi

c# - ClickOnce 和 IsolatedStorage

转载 作者:可可西里 更新时间:2023-11-01 08:55:04 26 4
gpt4 key购买 nike

Winform 应用程序在我们的 Intranet 中与 ClickOnce 一起发布。我们将个人对 GUI 的偏好存储在隔离存储中。一切正常:)

问题是当我们有一个新版本的应用程序时,我们发布...所有首选项都丢失了!用户需要在每个版本上设置他们的偏好。

有没有办法卡住整个应用程序而不是版本的隔离?

最佳答案

您需要使用应用程序 作用域,而不是 作用域的独立存储。这可以通过使用 IsolatedStorageFileStream 的 重载构造函数之一来完成。

例子:

using System.IO;
using System.IO.IsolatedStorage;
...

IsolatedStorageFile appScope = IsolatedStorageFile.GetUserStoreForApplication();
using(IsolatedStorageFileStream fs = new IsolatedStorageFileStream("data.dat", FileMode.OpenOrCreate, appScope))
{
...

但是,现在您将遇到此代码仅在通过 ClickOnce 启动应用程序时才有效的问题,因为这是应用程序范围内的独立存储唯一可用的时间。如果您不通过 ClickOnce(例如通过 Visual Studio)启动,GetUserStoreForApplication() 将引发异常。

解决这个问题的方法是在尝试使用应用程序范围的独立存储之前确保AppDomain.CurrentDomain.ActivationContext 不为空。

关于c# - ClickOnce 和 IsolatedStorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/202013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com