Freigeben über


IsolatedStorageFile.GetMachineStoreForDomain Methode

Definition

Ruft computerbezogenen isolierten Speicher für die Anwendungsdomänen- und Assemblyidentität ab.

public:
 static System::IO::IsolatedStorage::IsolatedStorageFile ^ GetMachineStoreForDomain();
public static System.IO.IsolatedStorage.IsolatedStorageFile GetMachineStoreForDomain ();
static member GetMachineStoreForDomain : unit -> System.IO.IsolatedStorage.IsolatedStorageFile
Public Shared Function GetMachineStoreForDomain () As IsolatedStorageFile

Gibt zurück

Ein Objekt, das dem IsolatedStorageScope entspricht, der auf einer Kombination der Identitäten von Anwendungsdomäne und Assembly basiert.

Ausnahmen

Es wurde keine ausreichende Berechtigung für den isolierten Speicher gewährt.

Fehler beim Öffnen des Speichers.

- oder -

Die angegebene Assembly verfügt nicht über ausreichende Berechtigungen für das Erstellen isolierter Speicher.

- oder -

Die Berechtigungen für die Anwendungsdomäne können nicht bestimmt werden.

- oder -

Ein isolierter Speicherort kann nicht initialisiert werden.

Beispiele

Im folgenden Codebeispiel wird die GetUserStoreForDomain -Methode veranschaulicht. Den vollständigen Kontext dieses Beispiels finden Sie in der IsolatedStorageFile Übersicht.

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;
IsolatedStorageFile isoFile;
isoFile = IsolatedStorageFile.GetUserStoreForDomain();

// Open or create a writable file.
IsolatedStorageFileStream isoStream =
    new IsolatedStorageFileStream(this.userName,
    FileMode.OpenOrCreate,
    FileAccess.Write,
    isoFile);

StreamWriter writer = new 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 = " + isoFile.CurrentSize.ToString());
Console.WriteLine("MaximumSize = " + isoFile.MaximumSize.ToString());
// StreamWriter.Close implicitly closes isoStream.
writer.Close();
isoFile.Dispose();
isoFile.Close();
return d;
Dim isoFile As IsolatedStorageFile
isoFile = IsolatedStorageFile.GetUserStoreForDomain()

' Open or create a writable file.
Dim isoStream As New IsolatedStorageFileStream(Me.userName, FileMode.OpenOrCreate, _
    FileAccess.Write, isoFile)

Dim writer As New StreamWriter(isoStream)
writer.WriteLine(Me.NewsUrl)
writer.WriteLine(Me.SportsUrl)
' Calculate the amount of space used to record the user's preferences.
Dim d As Double = Convert.ToDouble(isoFile.CurrentSize) / Convert.ToDouble(isoFile.MaximumSize)
Console.WriteLine(("CurrentSize = " & isoFile.CurrentSize.ToString()))
Console.WriteLine(("MaximumSize = " & isoFile.MaximumSize.ToString()))
' StreamWriter.Close implicitly closes isoStream.
writer.Close()
isoFile.Dispose()
isoFile.Close()
Return d

Hinweise

Derselbe Assemblycode verwendet verschiedene isolierte Speicher, wenn er im Kontext verschiedener Anwendungen verwendet wird.

GetMachineStoreForDomain entspricht funktional dem folgenden Code:

isoFile = IsolatedStorageFile::GetStore(IsolatedStorageScope::Assembly |
    IsolatedStorageScope::Domain | IsolatedStorageScope::Machine,
    (Type^)nullptr, (Type^)nullptr);
isoFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.Assembly |
    IsolatedStorageScope.Domain | IsolatedStorageScope.Machine,
    null, null);
isoFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.Assembly Or _
    IsolatedStorageScope.Domain Or IsolatedStorageScope.Machine, _
    Nothing, Nothing)

Verschiedene Assemblys, die in derselben Anwendungsdomäne ausgeführt werden, verfügen immer über unterschiedliche isolierte Speicher.

Hinweis

GetUserStoreForDomain gibt ein IsolatedStorageFile Objekt ohne Kontingent zurück, wenn die Anwendungsdomäne, in der die Assembly installiert ist, nicht über IsolatedStorageFilePermissionverfügt. Bei späteren Versuchen, ein IsolatedStorageFile -Objekt mit dem IsolatedStorageFile -Objekt zu erstellen, das kein Kontingent aufweist, schlagen mit einem fehl IsolatedStorageException.

Gilt für:

Weitere Informationen