IsolatedStorageFile::GetUserStoreForDomain Method ()
Obtains user-scoped isolated storage corresponding to the application domain identity and assembly identity.
Assembly: mscorlib (in mscorlib.dll)
Return Value
Type: System.IO.IsolatedStorage::IsolatedStorageFile^An object corresponding to the IsolatedStorageScope, based on a combination of the application domain identity and the assembly identity.
| Exception | Condition |
|---|---|
| SecurityException | Sufficient isolated storage permissions have not been granted. |
| IsolatedStorageException | The store failed to open. -or- The assembly specified has insufficient permissions to create isolated stores. -or- An isolated storage location cannot be initialized. -or- The permissions for the application domain cannot be determined. |
The same assembly code will use different isolated stores when used in the context of different applications.
GetUserStoreForDomain is functionally equivalent to the following code:
isoFile = IsolatedStorageFile::GetStore(IsolatedStorageScope::Assembly |
IsolatedStorageScope::Domain | IsolatedStorageScope::User,
(Type^)nullptr, (Type^)nullptr);
Different assemblies running within the same application domain always have distinct isolated stores.
Note |
|---|
GetUserStoreForDomain will return an IsolatedStorageFile object without a quota if the application domain in which the assembly is installed does not have IsolatedStorageFilePermission. Later attempts to create an IsolatedStorageFile object using the IsolatedStorageFile object that does not have a quota will fail with an IsolatedStorageException. |
The following code example demonstrates the GetUserStoreForDomain method. For the complete context of this example, see the IsolatedStorageFile overview.
IsolatedStorageFile^ isoFile; isoFile = IsolatedStorageFile::GetUserStoreForDomain(); // Open or create a writable file. IsolatedStorageFileStream^ isoStream = gcnew IsolatedStorageFileStream( this->userName,FileMode::OpenOrCreate,FileAccess::Write,isoFile ); StreamWriter^ writer = gcnew StreamWriter( isoStream ); writer->WriteLine( this->NewsUrl ); writer->WriteLine( this->SportsUrl ); // Calculate the amount of space used to record the user's preferences. double d = isoFile->CurrentSize / isoFile->MaximumSize; Console::WriteLine( "CurrentSize = {0}", isoFile->CurrentSize.ToString() ); Console::WriteLine( "MaximumSize = {0}", isoFile->MaximumSize.ToString() ); writer->Close(); isoFile->Close(); isoStream->Close(); return d;
for using isolated storage. Associated enumeration: DomainIsolationByUser
when invoked late-bound through mechanisms such as Type::InvokeMember. Associated enumeration: ReflectionPermissionFlag::MemberAccess
Available since 1.1
