Procedimiento para enumerar los almacenes de almacenamiento aislado
Puede enumerar todos los almacenes aislados para el usuario actual con el uso del método estático IsolatedStorageFile.GetEnumerator. Este método adopta un valor IsolatedStorageScope y devuelve un enumerador IsolatedStorageFile. Para enumerar los almacenes, debe tener el permiso IsolatedStorageFilePermission que especifica el valor AdministerIsolatedStorageByUser. Si se llama al método GetEnumerator con el valor User, devuelve una matriz de objetos IsolatedStorageFile definidos para el usuario actual.
Ejemplo
En el ejemplo de código siguiente se obtiene un almacén aislado por usuario y ensamblado, se crean unos cuantos archivos y se recuperan los archivos mediante el método GetEnumerator.
using System;
using System.IO;
using System.IO.IsolatedStorage;
using System.Collections;
public class EnumeratingStores
{
public static void Main()
{
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null))
{
isoStore.CreateFile("TestFileA.Txt");
isoStore.CreateFile("TestFileB.Txt");
isoStore.CreateFile("TestFileC.Txt");
isoStore.CreateFile("TestFileD.Txt");
}
IEnumerator allFiles = IsolatedStorageFile.GetEnumerator(IsolatedStorageScope.User);
long totalsize = 0;
while (allFiles.MoveNext())
{
IsolatedStorageFile storeFile = (IsolatedStorageFile)allFiles.Current;
totalsize += (long)storeFile.UsedSize;
}
Console.WriteLine("The total size = " + totalsize);
}
}
Imports System.IO
Imports System.IO.IsolatedStorage
Module Module1
Sub Main()
Using isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly, Nothing, Nothing)
isoStore.CreateFile("TestFileA.Txt")
isoStore.CreateFile("TestFileB.Txt")
isoStore.CreateFile("TestFileC.Txt")
isoStore.CreateFile("TestFileD.Txt")
End Using
Dim allFiles As IEnumerator = IsolatedStorageFile.GetEnumerator(IsolatedStorageScope.User)
Dim totalsize As Long = 0
While (allFiles.MoveNext())
Dim storeFile As IsolatedStorageFile = CType(allFiles.Current, IsolatedStorageFile)
totalsize += CType(storeFile.UsedSize, Long)
End While
Console.WriteLine("The total size = " + totalsize.ToString())
End Sub
End Module