Compartilhar via


Como: Obter armazenamentos para o armazenamento isolado

Um armazenamento expõe um sistema de arquivos virtual dentro de um compartimento de dados.IsolatedStorageFile fornece vários métodos para interagir com um armazenamento. Para criar e recuperar os armazenamentos, IsolatedStorageFile fornece três métodos estáticos.Chamar GetUserStoreForAssembly ou GetUserStoreForDomain retorna um armazenamento isolado por usuário e assembly e por usuário, domínio e assembly, respectivamente.Esses dois métodos recuperam um armazenamento que pertence ao bloco de código a partir do qual eles são chamados.O método estático GetStore retorna um armazenamento isolado que é especificado pela passagem de uma combinação de parâmetros de escopo.Os parâmetros a seguir retornam um armazenamento isolado por usuário, assembly e domínio.

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);

O método GetStore pode ser usado para especificar que um armazenamento deve transitar com um perfil de usuário móvel.Para obter detalhes sobre como definir isso, consulte Armazenamento Isolado e Uso Móvel.

Armazenamentos isolados obtidos em diferentes assemblies são, por padrão, armazenamentos diferentes.Você pode acessar o armazenamento de um outro assembly ou domínio passando diferentes evidências de assembly ou de domínio como os dois últimos parâmetros do método GetStore.Isso requer permissão para acessar o armazenamento isolado por identidade do domínio de aplicativo.Para obter mais informações, consulte o método GetStore.Para obter mais informações sobre assemblies, consulte Assemblies.

Cada um desses três métodos retorna um objeto IsolatedStorageFile.Para ajudá-lo a decidir qual tipo de isolamento é mais apropriado para sua situação, consulte Tipos de Isolamento.Depois que você tiver um objeto de arquivo de armazenamento isolado, você pode usar os métodos de armazenamento isolado para ler, gravar, criar e excluir arquivos e diretórios de arquivos.

Não há um mecanismo que impeça o código de passar um IsolatedStorageFile ao código que não possui acesso suficiente para obter o armazenamento por si só.Identidades de domínio e assembly e permissões de armazenamento isolado são verificadas somente quando uma referência a um objeto IsolatedStorage é obtida, geralmente no método GetUserStoreForAssembly , GetUserStoreForDomain, ou GetStore.Proteger referências a objetos IsolatedStorageFile é, portanto, responsabilidade do código que usa essas referências.

Exemplo de ObtainingAStore

O seguinte exemplo de código é um exemplo muito simples de uma classe obtendo um armazenamento isolado por usuário e assembly.O código pode ser alterado para recuperar um armazenamento isolado por usuário, domínio e assembly adicionando IsolatedStorageScope.Domain aos argumentos que o método GetStore está passando.

Depois de executar o código, você pode confirmar que um armazenamento foi criado digitando StoreAdm /LIST na linha de comando.Isso executa a Ferramenta de Administração de Armazenamento Isolado (Storeadm.exe) e relaciona todos os armazenamentos isolados atualmente para o usuário.Para obter mais informações sobre Storeadm.exe, consulte Ferramenta de Armazenamento Isolado.

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);

    }
}

Consulte também

Conceitos

Tipos de Isolamento

Referência

IsolatedStorageFile

IsolatedStorageScope

Outros recursos

Executando Tarefas de Armazenamento Isolado

Assemblies em Common Language Runtime