【发布时间】:2011-03-05 22:21:50
【问题描述】:
使用 IsolatedStorage 和 IE 保护模式。
我正在构建一个 C# .NET (VS2010) IE8 附加应用程序,但在 Windows 7 64 位计算机上使用独立存储保存数据时遇到了一些问题,当Internet Explorer 的默认保护模式为已启用。
(我正在从使用 Settings as Properties.Settings.Default.Save() 切换到此方法;在 IE 保护模式下也失败了。我也尝试在 LocalLow 中保存文件,但也没有运气。)
谁能指出我如何修改以下代码以使其能够在 IE 保护模式下工作?我尝试了很多想法,但到目前为止没有任何效果。肯定有办法保存数据??
//FileIOPermission perm = new FileIOPermission(PermissionState.Unrestricted);
//perm.Assert();
//perm.Demand();
//---Write---
IsolatedStorageFile app_isoStore = IsolatedStorageFile.GetStore(
IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);
IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream(
"app_started.txt", FileMode.OpenOrCreate, FileAccess.Write, app_isoStore);
StreamWriter iswriter = new StreamWriter(isoStream);
iswriter.WriteLine("Run");
iswriter.Close();
//app_isoStore.Dispose();
app_isoStore.Close();
//---Read---
IsolatedStorageFile app_isoStoreCheck = IsolatedStorageFile.GetStore(
IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);
IsolatedStorageFileStream isoReadStream = new IsolatedStorageFileStream(
"app_started.txt", FileMode.Open, FileAccess.Read, app_isoStoreCheck);
StreamReader isreader = new StreamReader(isoReadStream);
string rdata = isreader.ReadToEnd();
isreader.Close();
//app_isoStoreCheck.Dispose();
app_isoStoreCheck.Close();
【问题讨论】:
-
我完全按照您在示例中编写的代码复制了您的代码,并且运行良好。它从文件中读取值“运行”。如果我关闭程序,注释掉写入的部分,然后再次运行程序以读取数据,它也可以工作。按预期工作。尝试单步执行您的程序以验证它是否正常工作。
-
等等,你说的是“IE8 应用程序”。这是网络服务吗?我把我的作为一个独立的控制台程序。我想可能有一些不同。我没有办法轻松地将其作为 Web 服务或 ASP.NET 页面或其他任何方式进行测试。
-
感谢您的测试。我尝试在每一行之后放置一个输出并且它没有调用异常,所以它看起来好像应该有效。我只是不明白为什么它没有。
标签: c# .net permissions save isolatedstorage