Namespace: System.IO.IsolatedStorage
IsolatedStoreage is a storage place provided to applications
with full access writes where they can store data about themselves. It also
prevents from the attacks intended by spywares, malwares, and viruses. And
application will run without caring about the environment whether it is
limited, partially, or fully trusted environment.
How to create a store:
An isolated storage can be created by just calling the
respective scope level
Get[Machine|User]StoreFor[Application|Assembly|Domain]();
IsolatedStorageFileStream class:
This class inherits from FileStream class, so its use is
identical to FileStream class.
Reading and writing data to Isolated Storage:
IsolatedStorageFile userStore =
IsolatedStoreageFile.GetUserStoreForAssembly();
IsolatedStorageFileStream
vUserFileStream = new IsolatedStorageFileStream(“UserSettings.set”,
FileMode.Create,
userStore);
StreamWriter sw = new
StreamWriter(vUserFileStream);
Sw.WriteLine(“testing testing ….”);
Sw.Close();
There is no way to check existence of
a file like Exists method. One will have to query the files in the store
and then check whether the respective file exists in list or not.
String[] files =
userStore.GetFileNames(“UserSettings.set”); //only * and ? are supported wildcards
If(files.length > 0)
{
//File
exists
}
Creating Directories in Isolated Storage:
UserStore.CreateDirectory(“UI”);
IsolatedStorageFileStream
newUISetting = new IsolatedStorageFileStream(
@“UI\UserSetting.set”,
FileMode.Create,
userStore);
In the same way one can check for the existence of a
directory:
String[] dirs =
userStore.GetDirectoriesNames(“UI”);
If(dirs.length > 0)
{
//Directory
exists
}
IsolatedStorageFilePermission class:
IsolatedStorageFilePermission class encapsulates checks to
enable Code Access permission. One can configure the level of store and size
quota that an assembly, application or domain can consume.
[IsolatedStorageFilePermission(SecurityAction.Demand)]
Class program
{
}
OR
[IsolatedStorageFilePermission(SecurityAction.Demand,
UserQuota = 1024, UsageAllowed=
IsolatedStorageContainment.AssemblyIsolationByUser)]
Class program
{
}
IsolatedStorageFile class:
Static Methods:
GetEnumerator
|
Gets the enumerator for the IsolatedStorageFile
stores within an isolated storage scope.
|
GetMachineStoreForApplication
|
Obtains machine-scoped isolated storage
corresponding to the calling code's application identity.
|
GetMachineStoreForAssembly
|
Obtains machine-scoped isolated storage
corresponding to the calling code's assembly identity.
|
GetMachineStoreForDomain
|
Obtains machine-scoped isolated storage
corresponding to the application domain identity and the assembly identity.
|
GetStore
|
Overloaded. Obtains isolated storage
corresponding to the given application domain and assembly evidence objects
and isolated storage scope.
|
GetUserStoreForApplication
|
Obtains user-scoped isolated storage
corresponding to the calling code's application identity.
|
GetUserStoreForAssembly
|
Obtains user-scoped isolated storage
corresponding to the calling code's assembly identity.
|
GetUserStoreForDomain
|
Obtains user-scoped isolated storage
corresponding to the application domain identity and assembly identity.
|
IsolatedStorageFile Properties:
ApplicationIdentity
|
Gets an application identity that scopes
isolated storage.
|
AssemblyIdentity
|
Gets an assembly identity used to scope isolated
storage.
|
CurrentSize
|
Gets the current size of the isolated
storage. (Overrides .CurrentSize.)
|
DomainIdentity
|
Gets a domain identity that scopes isolated
storage.
|
MaximumSize
|
Gets a value representing the maximum amount
of space available for isolated storage within the limits established by the
quota. (Overrides .MaximumSize.)
|
Scope
|
Gets an IsolatedStorageScope enumeration
value specifying the scope used to isolate the store.
|
IsolatedStorageFile Methods:
Close
|
Closes a store previously opened with GetStore,
GetUserStoreForAssembly(), or GetUserStoreForDomain().
|
CreateDirectory
|
Creates a directory in the isolated storage
scope.
|
DeleteDirectory
|
Deletes a directory in the isolated storage
scope.
|
DeleteFile
|
Deletes a file in the isolated storage
scope.
|
Dispose
|
Releases all resources used by the IsolatedStorageFile.
|
GetDirectoryNames
|
Enumerates directories in an isolated
storage scope that match a given pattern.
|
GetFileNames
|
Enumerates files in isolated storage scope
that match a given pattern.
|
Remove
|
Overloaded. Removes the isolated storage
scope and all its contents.
|
Comments