zoukankan      html  css  js  c++  java
  • Silverlight Isolated Storage 独立存储

    Silverlight  独立存储 好比Cookie一样,可以在客户端存储信息,但是他更加强大,独立存储提供了客户端指定目录下的读写权限,可以任意的向其中添加删除修改读取文件。

    独立存储将文件存储在系统盘-当前用户-本地的-指定文件夹当中。

    独立存储有两个作用域 应用程序级别和站点级别 他就像是一个为Silverlight专门提供的文件夹,用来存放Silverlight的文件信息,比如XML、TXT、Dat、Html等,格式不限只要对你有用。

     

    基础操作语法

    using System.IO.IsolatedStorage;
    using System.IO;
           void CreateDir(string dirName)
           {
               IsolatedStorageFile storeFile =
                   IsolatedStorageFile.GetUserStoreForApplication();
               storeFile.CreateDirectory(dirName);
           }
    
           void SaveFile(string savePath, string content)
           {
               IsolatedStorageFile storeFile =
                   IsolatedStorageFile.GetUserStoreForApplication();
               IsolatedStorageFileStream sf = storeFile.CreateFile(savePath);
               using (StreamWriter sw = new StreamWriter(sf))
               {
                   sw.WriteLine(content);
               }
               sf.Close();
           }
    
           void LoadFile(string readPath)
           {
               string content = string.Empty;
               using (IsolatedStorageFile storeFile =
                   IsolatedStorageFile.GetUserStoreForApplication())
               {
                   if (storeFile.FileExists(readPath))
                   {
                       StreamReader sr =
                           new StreamReader(storeFile.OpenFile
                               (readPath, FileMode.Open, FileAccess.Read));
                       content = sr.ReadToEnd();
                   }
               }
           }
    
           void DeleteFile(string path)
           {
               using (IsolatedStorageFile storeFile =
                   IsolatedStorageFile.GetUserStoreForApplication())
               {
                   storeFile.DeleteFile(path);
               }
           }
    
           void DeleteDir(string dirPath)
           {
               using (IsolatedStorageFile storeFile =
                   IsolatedStorageFile.GetUserStoreForApplication())
               {
                   storeFile.DeleteDirectory(dirPath);
               }
           }
    
           void LoadDirs()
           {
               using (IsolatedStorageFile storeFile =
                   IsolatedStorageFile.GetUserStoreForApplication())
               {
                   var itemSource = storeFile.GetDirectoryNames("*");
               }
           }

    名值对方式存储读取

    这种方式就很像Cookie了
           string ReadSettings(string key)
           {
               IsolatedStorageSettings settings =
                   IsolatedStorageSettings.ApplicationSettings;
               return settings[key].ToString();
           }
    
           void SaveSettings(string key, string value)
           {
               IsolatedStorageSettings settings =
                   IsolatedStorageSettings.ApplicationSettings;
               settings.Add(key, value);
               settings.Save();
           }
    
           void ClearSettings()
           {
               IsolatedStorageSettings settings =
                   IsolatedStorageSettings.ApplicationSettings;
               settings.Clear();
           }

    独立存储的文件与名值对分别有两个示例,可以在目录地址链接下载代码阅读。

    独立存储的空间大小

    独立存储默认的空间上限是1M,可以通过代码设置让这个上限加大。代码如下

               //使1用?应|用?程ì序ò存?储¢创′建¨对?象ó
                using (IsolatedStorageFile storeFile =
                    IsolatedStorageFile.GetUserStoreForApplication())
                {
                    //获?取?旧é空?间?大ó小?
                    long oldSize = storeFile.AvailableFreeSpace;
                    //定¨义?新?增?空?间?大ó小?
                    long newSize = 2097152;
                    if (oldSize < newSize)
                    {
                        //分?配?新?的?存?储¢空?间?
                        storeFile.IncreaseQuotaTo(newSize);
                    }
                }

    客户可以通过邮件Silverlight 控件选择Silverlight配置中 ->应用程序存储选项卡 中查看本地有存储了那些Silverlight应用存储信息。

    image

    冯瑞涛
  • 相关阅读:
    分层图(了解一下,下一道比较好做)
    图论---The Captain
    数论
    NOIp复习计划
    20201116 Day4 卢卡斯定理
    20201113 Day3 斜率优化
    20201110Day2 分块
    20201030 day50 复习13:逆元、裴蜀定理
    20201030day50 模板全掌握
    20201029 day49 模拟(十八)
  • 原文地址:https://www.cnblogs.com/finehappy/p/1668966.html
Copyright © 2011-2022 走看看