Partager via


Obtention de magasins

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 retourne un stockage isolé par utilisateur et par assembly. L'appel de GetUserStoreForDomain retourne un stockage isolé 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 = 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);

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.

Chacune de ces trois méthodes retourne un objet IsolatedStorageFile. Pour déterminer le type d'isolement le mieux adapté à une situation, consultez Types d'isolements. 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 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);
    }
};

Voir aussi

Référence

IsolatedStorageFile

IsolatedStorageScope

Concepts

Stockage isolé

Types d'isolation

Assemblys dans le Common Language Runtime