Freigeben über


Gewusst wie: Erhalten von Speichern für isolierten Speicher

Ein Speicher macht ein virtuelles Dateisystem innerhalb eines Datendepots verfügbar. IsolatedStorageFile enthält eine Reihe von Methoden für die Interaktion mit einem Speicher. Zum Erstellen und Abrufen von Speichern stellt IsolatedStorageFile drei statische Methoden bereit. Durch Aufrufen von GetUserStoreForAssembly wird nach Benutzer und Assembly isolierter Speicher zurückgegeben. Durch Aufrufen von GetUserStoreForDomain wird nach Domäne und Assembly isolierter Speicher zurückgegeben. Durch diese beiden Methoden wird ein Speicher abgerufen, der dem Codeblock angehört, aus dem sie aufgerufen werden. Die statische GetStore-Methode gibt einen isolierten Speicher zurück, der durch die Übergabe einer Kombination von Bereichsparametern gekennzeichnet ist. Die folgenden Parameter geben einen nach Benutzer, Assembly und Domäne isolierten Speicher zurück.

Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
    IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
    IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);
IsolatedStorageFile^ isoStore = IsolatedStorageFile::GetStore(IsolatedStorageScope::User |
    IsolatedStorageScope::Assembly | IsolatedStorageScope::Domain, (Type ^)nullptr, (Type ^)nullptr);

Mit der GetStore-Methode kann ein Speicher für das Roaming mit einem Roamingbenutzerprofil aktiviert werden. Weitere Details zur Einrichtung dieser Funktion finden Sie unter Isolierte Speicherung und Roaming.

Bei isolierten Speichern, die in verschiedenen Assemblys erstellt werden, handelt es sich standardmäßig um unterschiedliche Speicher. Auf den Speicher einer anderen Assembly oder Domäne kann zugegriffen werden, indem Beweise anderer Assemblys oder Domänen als die beiden letzten Parameter der GetStore-Methode übergeben werden. Dazu ist die Zugriffsberechtigung für isolierte Speicherung anhand der Identität der Anwendungsdomäne notwendig. Weitere Informationen finden Sie unter der GetStore-Methode.

Jede dieser drei Methoden gibt ein IsolatedStorageFile-Objekt zurück. Unter Isolationstypen finden Sie weitere hilfreiche Informationen für die Entscheidung, welcher Isolationstyp sich für Ihre Situation am besten eignet. Sobald Sie über ein Dateiobjekt mit isolierter Speicherung verfügen, können Sie Methoden der isolierten Speicherung zum Lesen, Schreiben, Erstellen und Löschen von Dateien und Verzeichnissen verwenden.

Es ist kein Mechanismus verfügbar, der verhindert, dass durch Code eine IsolatedStorageFile an Code übergeben wird, der nicht über ausreichende Zugriffsrechte verfügt, um selbst auf den Speicher zuzugreifen. Domänen- und Assemblyidentitäten sowie Berechtigungen für isolierten Speicher werden nur überprüft, wenn ein Verweis auf ein IsolatedStorage-Objekt abgerufen wird, in der Regel in der Methode GetUserStoreForAssembly, GetUserStoreForDomain oder GetStore. Für den Schutz von Verweisen auf IsolatedStorageFile-Objekte ist daher der Code zuständig, in dem diese Verweise verwendet werden.

Beispiel "ObtainingAStore"

Im Folgenden wird ein sehr einfaches Codebeispiel dafür gegeben, wie eine Klasse einen nach Benutzer und Assembly isolierten Speicher erhält. Der Code kann geändert werden, um einen nach Benutzer, Domäne und Assembly isolierten Speicher abzurufen, indem IsolatedStorageScope.Domain zu den von der GetStore-Methode übergebenen Argumenten hinzugefügt wird.

Nach dem Ausführen des Codes können Sie überprüfen, ob ein Speicher erstellt wurde. Geben Sie dazu in der Befehlszeile StoreAdm /LIST ein. Dadurch wird das Administrationstool für isolierte Speicherung (Storeadm.exe) ausgeführt, und alle aktuellen isolierten Speicher des Benutzers werden aufgelistet. Weitere Informationen über Storeadm.exe finden Sie unter Isolated Storage-Tool .

Imports System
Imports System.IO.IsolatedStorage

Public Class ObtainingAStore
    Public Shared Sub Main()
        ' Get a new isolated store for this assembly and put it into an
        ' isolated store object.

        Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
            IsolatedStorageScope.Assembly, Nothing, Nothing)
    End Sub
End Class
using System;
using System.IO.IsolatedStorage;

public class ObtainingAStore
{
    public static void Main()
    {
        // Get a new isolated store for this assembly and put it into an
        // isolated store object.

        IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
            IsolatedStorageScope.Assembly, null, null);
    }
}
using namespace System;
using namespace System::IO::IsolatedStorage;

public ref class ObtainingAStore
{
public:
    static void Main()
    {
        // Get a new isolated store for this assembly and put it into an
        // isolated store object.

        IsolatedStorageFile^ isoStore = IsolatedStorageFile::GetStore(IsolatedStorageScope::User |
            IsolatedStorageScope::Assembly, (Type ^)nullptr, (Type ^)nullptr);
    }
};

Siehe auch

Referenz

IsolatedStorageFile

IsolatedStorageScope

Konzepte

Isolierte Speicherung

Isolationstypen

Assemblys in der Common Language Runtime (CLR)