Isolated Storage in Silverlight

Isolated storage enables applications to create and maintain a safe client-side virtual file system for partial trust applications. In Silverlight, all I/O operations are restricted to isolated storage and do not use the file system of the operating system.

With isolated storage, data is always isolated by the user in a virtual file system that can be just one file in the root directory or a tree of directories and files.

The isolated storage data compartment is an abstraction, not a specific storage location. It consists of one or more isolated storage files, called stores, which contain the actual directory locations where data is stored. Any kind of data can be saved in the store.

Stores usually reside on the client but an application can also use isolated storage on a server. However, Silverlight does not support roaming profiles that enable information to travel with a user.



The above figure is the Silverlight Configuration dialog displayed when you right click on the Silverlight plugin space and select "Silverlight", the above dialog would be displayed.



The above figure is the configuration of Application Storage for specific sites in terms of Quota.

Quota Groups

The amount of isolated storage available for an application to use depends on the allocated space that the host domain can use on a particular client's computer. This allocated space is called a quota group.

An application on a domain shares the quota group with all the other applications on that domain. This enables multiple applications in the same domain to share a single quota. Note that domain in this context refers to a virtual host domain, such as, not to an application domain.

A quota group's default size is 1 MB. An application can request to increase the quota group size with the IncreaseQuotaTo method. If the user approves the increased size, that size is the new quota group size that all applications on that domain can share.