コード例 #1
0
        internal void Load()
        {
            try
            {
                IsolatedStorageFile userStore = IsolatedStorageFile.GetUserStoreForAssembly();

                //Si no hay datos para este usuario
                if (userStore.GetFileNames(DATABASE_CONFIG_FILE).Length == 0)
                {
                    //Limpio el diccionario por si contien algo
                    //_Connections.Clear();
                    return;
                }
                //Abro el stream con la informacion serializada del diccionario desde el IsolatedStorage
                IsolatedStorageFileStream userStream = new IsolatedStorageFileStream(DATABASE_CONFIG_FILE, FileMode.Open, userStore);
                _Connections = DeSerializeDictionary(userStream);
            }
            catch (FileNotFoundException)//si ocurre algun error construyo una coneccion por defecto
            {
                CnnString cnn = new CnnString();
                cnn.DataSource             = "DataSourceEmty";
                cnn.Name                   = "ConnectionName";
                cnn.Password               = String.Empty;
                cnn.User                   = "******";
                cnn.WindowsAutentification = true;
                cnn.InitialCatalog         = String.Empty;

                _Connections.Add(cnn);
                Save();
            }
        }
コード例 #2
0
        /// <summary>
        /// Deserializa: Convierte el stream a una lista de coneciones
        /// </summary>
        /// <param name="fs"></param>
        /// <param name="dict"></param>
        CnnStringList DeSerializeDictionary(FileStream fs)
        {
            CnnStringList wCnnStringList;

            // Crea  un BinaryFormatter para realizar la serializacion
            BinaryFormatter bf = new BinaryFormatter();

            try
            {
                //Convierte el stream a un CnnStringList
                wCnnStringList = (CnnStringList)bf.Deserialize(fs);
            }

            catch (System.Runtime.Serialization.SerializationException)
            {
                wCnnStringList = new CnnStringList();
            }

            finally
            {
                fs.Close();
            }

            return(wCnnStringList);
        }
コード例 #3
0
        /// <summary>
        /// Serializa en binario el la lista de conecciones
        /// </summary>
        /// <param name="fs"></param>
        /// <param name="dict"></param>
        private static void SerializeDictionary(FileStream fs, CnnStringList dict)
        {
            // Create a BinaryFormatter object to perform the serialization
            BinaryFormatter bf = new BinaryFormatter();

            // Use the BinaryFormatter object to serialize the data to the file
            bf.Serialize(fs, dict);
            // Close the file
            fs.Close();
        }