Isolated Storage

The .NET Framework’s isolated storage classes create and manipulate data compartments that are unique to a user and an assembly. For example, suppose that the user joe runs the .NET application someapp.exe. If someapp.exe uses isolated storage to create directories and files, the .NET runtime guarantees that another program (such as anotherapp.exe) cannot access those files, even if joe runs anotherapp.exe. Further, if another user, bob, runs someapp.exe, he won’t be able to access the files that someapp.exe created when joe ran it.

Isolated storage is limited by a quota, so even if it’s manipulated by untrusted mobile code, you don’t need to worry about that code performing a denial-of-service attack by filling your disk with useless data.

Where does isolated storage live? This depends on your operating system, but in Windows 2000 and XP, it is either found in \Documents and Settings\<username>\Local Settings\Application Data\Microsoft\IsolatedStorage (the nonroaming profile) or in \Documents and Settings\<username>\Application Data\Microsoft\IsolatedStorage (the roaming profile). For other operating systems, such as Windows NT 4.0 or Windows 98, see Introduction to Isolated Storage in the .NET Framework SDK documentation.

Reading and Writing Isolated Storage

To create or access a file in isolated storage, create an instance of IsolatedStorageFileStream (pass in the desired filename and combination of FileMode constants). If your assembly doesn’t currently have an ...

Get C# in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.