c# – ClickOnce和IsolatedStorage
发布时间:2020-12-15 03:47:14 所属栏目:百科 来源:网络整理
导读:Winform应用程序在我们的Intranet中发布了ClickOnce.我们将个人喜好存储在隔离存储器中的GUI.所有的作品都很好:) 问题是当我们有一个新版本的应用程序,我们发布…所有的偏好都丢失了!用户需要设置每个版本的偏好. 有没有办法冻结整个应用程序的隔离,而不是
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不为空. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |