Como: Obter armazenamentos para o armazenamento isolado
Um armazenamento expõe um sistema de arquivos virtual dentro de um compartimento de dados. IsolatedStorageFilefornece vários métodos para interagir com um armazenamento. Para criar e recuperar os armazenamentos, IsolatedStorageFile fornece três métodos estáticos. Chamando GetUserStoreForAssembly retorna o armazenamento isolado por usuário e assembly. Chamando GetUserStoreForDomain retorna o armazenamento isolado por domínio e assembly. 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 = 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);
O GetStore método pode ser usado para especificar que um armazenamento deve fazer roaming 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 domínio ou um assembly diferente passando em evidência de assembly ou um domínio diferente como os dois últimos parâmetros da GetStore método. 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.
Cada um desses três métodos retorna um IsolatedStorageFile objeto. 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á nenhum mecanismo que impede a passagem de código um IsolatedStorageFile para código não tem acesso suficiente para obter o armazenamento em si. As identidades de domínio e o assembly e as permissões de armazenamento isolado são verificadas somente quando uma referência a um IsolatedStorage é obtido, normalmente na GetUserStoreForAssembly, GetUserStoreForDomain, ou GetStore método. Protegendo as referências a IsolatedStorageFile objetos é, portanto, a 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 para os argumentos que o GetStore método é passagem.
Após a execução do código, você pode confirmar que um armazenamento foi criado pela digitação 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 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);
}
};