摘要:前段日子读代码时发现了一个不曾用过的命名空间——System.IO.IsolatedStorage,通过该命名空间下面的一些类(如IsolatedStorage、IsolatedStorageFile、IsolatedStorageFileStream等)可以把应用程序中一些敏感的信息保存在文件系统之外,这让我感到很兴奋。
举个简单的例子,下面这行代码可以在IsolatedStorage(MSDN中译为“独立存储区”)寻找是否有一个名为PersonalFeedList.xml的文件:
if (IsolatedStorageFile.GetUserStoreForDomain().GetFileNames("PersonalFeedList.xml").Length!=0)
{
IsolatedStorageFileStream listLoader=new IsolatedStorageFileStream("PersonalFeedList.xml",
FileMode.Open, IsolatedStorageFile.GetUserStoreForDomain());
// TODO: process the FileStream here
}
关于IsolatedStorage命名空间的具体应用大家如有兴趣可以查阅MSDN,我个人认为IsolatedStorage非常适合存储那些应用程序运行过程中产生的临时文件,比如下载到本机需要进一步处理的xml文件。这些文件不便于呈现给最终用户,有些还不能让用户看到(比如一些临时性的密码存储)。由于IsolatedStorage独立于用户的文件系统,因此这种存储方式在某种程度上保证了数据的保密性。
不过此项应用也有诸多不足,最主要的一点是:你不应该用它来存储永久性文件,因为用户可以使用.NET SDK中的storeadm.exe工具删除独立存储区的所有数据,方法是:
storeadm /remove
...[
阅读全文]