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 ...