Share via


Obtention de magasins

Mise à jour : novembre 2007

Un magasin expose un système de fichiers virtuel dans un compartiment de données. IsolatedStorageFile fournit plusieurs méthodes d'interaction avec un magasin. Pour créer et extraire des magasins, IsolatedStorageFile propose trois méthodes statiques. L'appel de GetUserStoreForAssembly ou GetUserStoreForDomain retourne un stockage isolé par utilisateur et par assembly et un stockage isolé par utilisateur, par domaine et par assembly. Ces deux méthodes extraient un magasin qui appartient au bloc de code à partir duquel elles sont appelées. La méthode statique GetStore retourne un magasin isolé spécifié en passant une combinaison de paramètres de portée. Les paramètres suivants retournent un magasin isolé par utilisateur, par domaine et par assembly.

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

La méthode GetStore peut être utilisée pour spécifier qu'un magasin doit se déplacer avec un profil d'utilisateur itinérant. Pour plus d'informations sur cette installation, consultez Stockage isolé et profil itinérant.

Par défaut, des magasins isolés obtenus à partir d'assemblys distincts sont des magasins différents. Vous pouvez accéder au magasin d'un assembly ou d'un domaine différent en passant une preuve d'assembly ou de domaine distincte comme les deux derniers paramètres de la méthode GetStore. Ceci exige une autorisation pour accéder au stockage isolé par l'identité de domaine d'application. Pour plus d'informations, consultez la méthode GetStore. Pour plus d'informations sur les assemblys, consultez Assemblys.

Chacune de ces trois méthodes retourne un objet IsolatedStorageFile. Pour déterminer le type d'isolation le mieux adapté à une situation, consultez Types d'isolations. Dès que vous possédez un fichier objet de stockage isolé, vous pouvez utiliser les méthodes de stockage isolé pour lire, écrire, créer et supprimer des fichiers et des répertoires de fichier.

Aucun mécanisme ne peut empêcher du code de passer un objet IsolatedStorageFile au code dont l'accès est insuffisant pour obtenir lui-même le magasin. Les identités de domaine et d'assembly et les autorisations de stockage isolé ne sont vérifiées que lorsqu'une référence à un objet IsolatedStorage est obtenue, généralement dans une méthode GetUserStoreForAssembly, GetUserStoreForDomain ou GetStore. La responsabilité de la protection de références aux objets IsolatedStorageFile incombe, dès lors, au code qui utilise ces références.

ObtainingAStore, exemple

L'exemple de code suivant est un exemple très simple d'une classe obtenant un magasin isolé par utilisateur et par assembly. Le code peut être modifié afin d'extraire un magasin isolé par utilisateur, par domaine et par assembly en ajoutant IsolatedStorageScope.Domain aux arguments passés par la méthode GetStore.

Après l'exécution du code, vous pouvez confirmer qu'un magasin a été créé en tapant StoreAdm /LIST à la ligne de commande. L'outil d'administration Isolated Storage (Storeadm.exe) est alors exécuté et une liste de tous les magasins isolés en cours s'affiche pour l'utilisateur. Pour plus d'informations sur Storeadm.exe, consultez l'outil Isolated Storage Tool.

Imports System
Imports System.IO.IsolatedStorage

Public Module modmain

    Sub Main()

        ' Dimension a new IsolatedStorageFile.

        Dim isoStore As IsolatedStorageFile

        ' Set the IsolatedStorageFile to a store isolated by user and
        ' assembly.

        isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly, Nothing, Nothing)

    End Sub
End Module
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);

    }
}

Voir aussi

Concepts

Types d'isolation

Référence

IsolatedStorageFile

IsolatedStorageScope

Autres ressources

Exécution de tâches de stockage isolé

Assemblys dans le Common Language Runtime