Partilhar via


IsolatedStorageFile.GetStore Método

Definição

Obtém o armazenamento isolado correspondente aos objetos de evidência de assembly e domínio do aplicativo e escopo de armazenamento isolado.

Sobrecargas

GetStore(IsolatedStorageScope, Object)

Obtém o armazenamento isolado que corresponde à identidade de determinado aplicativo.

GetStore(IsolatedStorageScope, Type)

Obtém o armazenamento isolado correspondente ao escopo de isolamento e ao objeto de identidade do aplicativo.

GetStore(IsolatedStorageScope, Object, Object)

Obtém o armazenamento isolado correspondente aos objetos de evidência de assembly e o domínio de aplicativo determinado.

GetStore(IsolatedStorageScope, Type, Type)

Obtém o armazenamento isolado correspondente ao escopo do armazenamento isolado considerando o domínio do aplicativo e os tipos de evidência de assembly.

GetStore(IsolatedStorageScope, Evidence, Type, Evidence, Type)

Obtém o armazenamento isolado correspondente ao domínio do aplicativo determinado e aos tipos e objetos de evidência do assembly.

GetStore(IsolatedStorageScope, Object)

Origem:
IsolatedStorageFile.cs
Origem:
IsolatedStorageFile.cs
Origem:
IsolatedStorageFile.cs

Obtém o armazenamento isolado que corresponde à identidade de determinado aplicativo.

public:
 static System::IO::IsolatedStorage::IsolatedStorageFile ^ GetStore(System::IO::IsolatedStorage::IsolatedStorageScope scope, System::Object ^ applicationIdentity);
public static System.IO.IsolatedStorage.IsolatedStorageFile GetStore (System.IO.IsolatedStorage.IsolatedStorageScope scope, object? applicationIdentity);
public static System.IO.IsolatedStorage.IsolatedStorageFile GetStore (System.IO.IsolatedStorage.IsolatedStorageScope scope, object applicationIdentity);
static member GetStore : System.IO.IsolatedStorage.IsolatedStorageScope * obj -> System.IO.IsolatedStorage.IsolatedStorageFile
Public Shared Function GetStore (scope As IsolatedStorageScope, applicationIdentity As Object) As IsolatedStorageFile

Parâmetros

scope
IsolatedStorageScope

Um combinação bit a bit dos valores de enumeração.

applicationIdentity
Object

Um objeto que contém evidência para a identidade do aplicativo.

Retornos

Um objeto que representa os parâmetros.

Exceções

Não foram concedidas permissões de armazenamento isolado suficientes.

A applicationIdentity identidade não foi passada.

O scope é inválido.

Não foi possível inicializar um local de armazenamento isolado.

- ou -

scope contém o valor Applicationde enumeração , mas a identidade do aplicativo do chamador não pode ser determinada, porque o ActivationContext para o domínio do aplicativo atual retornou null.

- ou -

scope contém o valor Domain, mas não é possível determinar as permissões do domínio do aplicativo.

- ou -

scope contém o valor Assembly, mas as permissões do assembly de chamada não podem ser determinadas.

Comentários

Observação

Se o scope parâmetro for IsolatedStorageScope.Application e o domínio do aplicativo no qual o assembly está instalado não tiver IsolatedStorageFilePermission, o GetStore método retornará um IsolatedStorageFile objeto sem uma cota. Posteriormente, as tentativas de criar um IsolatedStorageFile objeto usando o IsolatedStorageFile objeto que não tem uma cota falharão com um IsolatedStorageException.

Confira também

Aplica-se a

GetStore(IsolatedStorageScope, Type)

Origem:
IsolatedStorageFile.cs
Origem:
IsolatedStorageFile.cs
Origem:
IsolatedStorageFile.cs

Obtém o armazenamento isolado correspondente ao escopo de isolamento e ao objeto de identidade do aplicativo.

public:
 static System::IO::IsolatedStorage::IsolatedStorageFile ^ GetStore(System::IO::IsolatedStorage::IsolatedStorageScope scope, Type ^ applicationEvidenceType);
public static System.IO.IsolatedStorage.IsolatedStorageFile GetStore (System.IO.IsolatedStorage.IsolatedStorageScope scope, Type? applicationEvidenceType);
public static System.IO.IsolatedStorage.IsolatedStorageFile GetStore (System.IO.IsolatedStorage.IsolatedStorageScope scope, Type applicationEvidenceType);
static member GetStore : System.IO.IsolatedStorage.IsolatedStorageScope * Type -> System.IO.IsolatedStorage.IsolatedStorageFile
Public Shared Function GetStore (scope As IsolatedStorageScope, applicationEvidenceType As Type) As IsolatedStorageFile

Parâmetros

scope
IsolatedStorageScope

Um combinação bit a bit dos valores de enumeração.

applicationEvidenceType
Type

Um objeto que contém a identidade do aplicativo.

Retornos

Um objeto que representa os parâmetros.

Exceções

Não foram concedidas permissões de armazenamento isolado suficientes.

A applicationEvidence identidade não foi passada.

O scope é inválido.

Não foi possível inicializar um local de armazenamento isolado.

- ou -

scope contém o valor Applicationde enumeração , mas a identidade do aplicativo do chamador não pode ser determinada, porque o ActivationContext para o domínio do aplicativo atual retornou null.

- ou -

scope contém o valor Domain, mas não é possível determinar as permissões do domínio do aplicativo.

- ou -

scope contém o valor Assembly, mas as permissões do assembly de chamada não podem ser determinadas.

Comentários

Observação

Se o scope parâmetro for Application e o domínio do aplicativo no qual o assembly está instalado não tiver IsolatedStorageFilePermission, o GetStore método retornará um IsolatedStorageFile objeto sem uma cota. Posteriormente, as tentativas de criar um IsolatedStorageFile objeto usando o IsolatedStorageFile objeto que não tem uma cota falharão com um IsolatedStorageException.

Confira também

Aplica-se a

GetStore(IsolatedStorageScope, Object, Object)

Origem:
IsolatedStorageFile.cs
Origem:
IsolatedStorageFile.cs
Origem:
IsolatedStorageFile.cs

Obtém o armazenamento isolado correspondente aos objetos de evidência de assembly e o domínio de aplicativo determinado.

public:
 static System::IO::IsolatedStorage::IsolatedStorageFile ^ GetStore(System::IO::IsolatedStorage::IsolatedStorageScope scope, System::Object ^ domainIdentity, System::Object ^ assemblyIdentity);
public static System.IO.IsolatedStorage.IsolatedStorageFile GetStore (System.IO.IsolatedStorage.IsolatedStorageScope scope, object? domainIdentity, object? assemblyIdentity);
public static System.IO.IsolatedStorage.IsolatedStorageFile GetStore (System.IO.IsolatedStorage.IsolatedStorageScope scope, object domainIdentity, object assemblyIdentity);
static member GetStore : System.IO.IsolatedStorage.IsolatedStorageScope * obj * obj -> System.IO.IsolatedStorage.IsolatedStorageFile
Public Shared Function GetStore (scope As IsolatedStorageScope, domainIdentity As Object, assemblyIdentity As Object) As IsolatedStorageFile

Parâmetros

scope
IsolatedStorageScope

Um combinação bit a bit dos valores de enumeração.

domainIdentity
Object

Um objeto que contém evidência para a identidade de domínio do aplicativo.

assemblyIdentity
Object

Um objeto que contém evidência para a identidade do assembly de código.

Retornos

Um objeto que representa os parâmetros.

Exceções

Não foram concedidas permissões de armazenamento isolado suficientes.

Nem domainIdentity nem assemblyIdentity foi passado. Isso verifica se o construtor correto está sendo usado.

- ou -

O domainIdentity ou assemblyIdentity é null.

O scope é inválido.

Não foi possível inicializar um local de armazenamento isolado.

- ou -

scope contém o valor Applicationde enumeração , mas a identidade do aplicativo do chamador não pode ser determinada, porque o ActivationContext para o domínio do aplicativo atual retornou null.

- ou -

scope contém o valor Domain, mas não é possível determinar as permissões do domínio do aplicativo.

- ou -

scope contém o valor Assembly, mas as permissões do assembly de chamada não podem ser determinadas.

Comentários

Essa forma de GetStore é mais útil para o código administrativo que precisa abrir um repositório como se fosse outro assembly. O repositório é aberto para as evidências fornecidas e não para o assembly em execução no momento.

Observação

Se o scope parâmetro for Domain e o domínio do aplicativo no qual o assembly está instalado não tiver IsolatedStorageFilePermission, o GetStore método retornará um IsolatedStorageFile objeto sem uma cota. Posteriormente, as tentativas de criar um IsolatedStorageFile objeto usando o IsolatedStorageFile objeto que não tem uma cota falharão com um IsolatedStorageException.

Confira também

Aplica-se a

GetStore(IsolatedStorageScope, Type, Type)

Origem:
IsolatedStorageFile.cs
Origem:
IsolatedStorageFile.cs
Origem:
IsolatedStorageFile.cs

Obtém o armazenamento isolado correspondente ao escopo do armazenamento isolado considerando o domínio do aplicativo e os tipos de evidência de assembly.

public:
 static System::IO::IsolatedStorage::IsolatedStorageFile ^ GetStore(System::IO::IsolatedStorage::IsolatedStorageScope scope, Type ^ domainEvidenceType, Type ^ assemblyEvidenceType);
public static System.IO.IsolatedStorage.IsolatedStorageFile GetStore (System.IO.IsolatedStorage.IsolatedStorageScope scope, Type? domainEvidenceType, Type? assemblyEvidenceType);
public static System.IO.IsolatedStorage.IsolatedStorageFile GetStore (System.IO.IsolatedStorage.IsolatedStorageScope scope, Type domainEvidenceType, Type assemblyEvidenceType);
static member GetStore : System.IO.IsolatedStorage.IsolatedStorageScope * Type * Type -> System.IO.IsolatedStorage.IsolatedStorageFile
Public Shared Function GetStore (scope As IsolatedStorageScope, domainEvidenceType As Type, assemblyEvidenceType As Type) As IsolatedStorageFile

Parâmetros

scope
IsolatedStorageScope

Um combinação bit a bit dos valores de enumeração.

domainEvidenceType
Type

O tipo do Evidence que pode ser escolhido na lista de Evidence presente no domínio do aplicativo de chamada. null permite que o objeto IsolatedStorage escolha a evidência.

assemblyEvidenceType
Type

O tipo do Evidence que pode ser escolhido na lista de Evidence presente no domínio do aplicativo de chamada. null permite que o objeto IsolatedStorage escolha a evidência.

Retornos

Um objeto que representa os parâmetros.

Exceções

Não foram concedidas permissões de armazenamento isolado suficientes.

O scope é inválido.

O tipo de evidência fornecido está ausente da lista de evidências do assembly.

- ou -

Não foi possível inicializar um local de armazenamento isolado.

- ou -

scope contém o valor Applicationde enumeração , mas a identidade do aplicativo do chamador não pode ser determinada, porque o ActivationContext para o domínio do aplicativo atual retornou null.

- ou -

scope contém o valor Domain, mas não é possível determinar as permissões do domínio do aplicativo.

- ou -

scope contém Assembly, mas não é possível determinar as permissões do assembly de chamada.

Exemplos

O exemplo de código a seguir demonstra o GetStore método . Para obter o contexto completo deste exemplo, consulte a IsolatedStorageFile visão geral.

// Retrieve an IsolatedStorageFile for the current Domain and Assembly.
IsolatedStorageFile^ isoFile = IsolatedStorageFile::GetStore( static_cast<IsolatedStorageScope>(IsolatedStorageScope::User | IsolatedStorageScope::Assembly | IsolatedStorageScope::Domain), (Type^)nullptr, nullptr );
IsolatedStorageFileStream^ isoStream = gcnew IsolatedStorageFileStream( this->userName,FileMode::Open,FileAccess::ReadWrite,isoFile );

// Retrieve an IsolatedStorageFile for the current Domain and Assembly.
IsolatedStorageFile isoFile =
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
    IsolatedStorageScope.Assembly |
    IsolatedStorageScope.Domain,
    null,
    null);

IsolatedStorageFileStream isoStream =
    new IsolatedStorageFileStream("substituteUsername",
    System.IO.FileMode.Open,
    System.IO.FileAccess.Read,
     System.IO.FileShare.Read);
' Retrieve an IsolatedStorageFile for the current Domain and Assembly.
Dim isoFile As IsolatedStorageFile = _
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User _
    Or IsolatedStorageScope.Assembly _
    Or IsolatedStorageScope.Domain, Nothing, Nothing)

Dim isoStream As New IsolatedStorageFileStream("substituteUsername", System.IO.FileMode.Open, _
    System.IO.FileAccess.Read, System.IO.FileShare.Read)

Comentários

Essa é a sobrecarga mais provável de GetStore ser chamada do código do aplicativo.

Essa sobrecarga de GetStore abre um repositório isolado para os tipos de evidência que são passados.

Observação

Se o scope parâmetro for Domain e o domínio do aplicativo no qual o assembly estiver instalado não tiver IsolatedStorageFilePermission, o GetStore método retornará um IsolatedStorageFile objeto sem uma cota. Posteriormente, as tentativas de criar um IsolatedStorageFile objeto usando o IsolatedStorageFile objeto que não tem uma cota falharão com um IsolatedStorageException.

Confira também

Aplica-se a

GetStore(IsolatedStorageScope, Evidence, Type, Evidence, Type)

Obtém o armazenamento isolado correspondente ao domínio do aplicativo determinado e aos tipos e objetos de evidência do assembly.

public:
 static System::IO::IsolatedStorage::IsolatedStorageFile ^ GetStore(System::IO::IsolatedStorage::IsolatedStorageScope scope, System::Security::Policy::Evidence ^ domainEvidence, Type ^ domainEvidenceType, System::Security::Policy::Evidence ^ assemblyEvidence, Type ^ assemblyEvidenceType);
public static System.IO.IsolatedStorage.IsolatedStorageFile GetStore (System.IO.IsolatedStorage.IsolatedStorageScope scope, System.Security.Policy.Evidence domainEvidence, Type domainEvidenceType, System.Security.Policy.Evidence assemblyEvidence, Type assemblyEvidenceType);
static member GetStore : System.IO.IsolatedStorage.IsolatedStorageScope * System.Security.Policy.Evidence * Type * System.Security.Policy.Evidence * Type -> System.IO.IsolatedStorage.IsolatedStorageFile
Public Shared Function GetStore (scope As IsolatedStorageScope, domainEvidence As Evidence, domainEvidenceType As Type, assemblyEvidence As Evidence, assemblyEvidenceType As Type) As IsolatedStorageFile

Parâmetros

scope
IsolatedStorageScope

Um combinação bit a bit dos valores de enumeração.

domainEvidence
Evidence

Um objeto que contém a identidade do domínio do aplicativo.

domainEvidenceType
Type

O tipo de identidade a ser escolhido da evidência do domínio do aplicativo.

assemblyEvidence
Evidence

Um objeto que contém a identidade do assembly de código.

assemblyEvidenceType
Type

O tipo de identidade a ser escolhido da evidência do assembly do código do aplicativo.

Retornos

Um objeto que representa os parâmetros.

Exceções

Não foram concedidas permissões de armazenamento isolado suficientes.

A identidade domainEvidence ou assemblyEvidence não foi enviada.

O scope é inválido.

Não foi possível inicializar um local de armazenamento isolado.

- ou -

scope contém o valor Applicationde enumeração , mas a identidade do aplicativo do chamador não pode ser determinada, porque o ActivationContext para o domínio do aplicativo atual retornou null.

- ou -

scope contém o valor Domain, mas não é possível determinar as permissões do domínio do aplicativo.

- ou -

scope contém o valor Assembly, mas as permissões do assembly de chamada não podem ser determinadas.

Exemplos

O exemplo de código a seguir obtém armazenamento com base em evidências do editor.

using System;
using System.IO;
using System.IO.IsolatedStorage;
using System.Security;
using System.Security.Policy;
using System.Security.Permissions;
using System.Security.Cryptography.X509Certificates;

class Program
{
    static void Main(string[] args)
    {
        try
        {

            if (Test())
            {
                Console.WriteLine("PASSED.");
                Environment.ExitCode = 100;
            }
            else
            {
                Console.WriteLine("FAILED.");
                Environment.ExitCode = 101;
            }
        }
        catch (Exception e)
        {
            Console.Write("Exception occurred: {0}", e.ToString());
            Environment.ExitCode = 101;
        }
        return;
    }

    public static Boolean Test()
    {
        Boolean bRes = true;

        Evidence evidence1 = GetTestEvidence();
        Evidence evidence2 = GetTestEvidence();

        IsolatedStorageFile isf = IsolatedStorageFile.GetStore(
                                    IsolatedStorageScope.User | IsolatedStorageScope.Assembly,
                                    evidence1,
                                    typeof(System.Security.Policy.Publisher),
                                    evidence2,
                                    typeof(System.Security.Policy.Publisher));

        IsolatedStorageFileStream isfs = new IsolatedStorageFileStream("AdminEvd1.testfile", FileMode.OpenOrCreate, isf);
        isfs.WriteByte(5);
        isfs.Flush();
        isfs.Close();

        return bRes;
    }

    public static Evidence GetTestEvidence()
    {
        // For demonsration purposes, use a blank certificate.
        Publisher pub = new Publisher(new X509Certificate(new Byte[64]));
        Object[] arrObj = new Object[1];
        arrObj[0] = (Object)pub;
        return new Evidence(arrObj, arrObj);
    }
}
Imports System.IO
Imports System.IO.IsolatedStorage
Imports System.Security
Imports System.Security.Policy
Imports System.Security.Permissions
Imports System.Security.Cryptography.X509Certificates

Class Program

    Public Shared Sub Main(ByVal args() As String)
        Try
            If Test Then
                Console.WriteLine("PASSED.")
                Environment.ExitCode = 100
            Else
                Console.WriteLine("FAILED.")
                Environment.ExitCode = 101
            End If
        Catch e As Exception
            Console.Write("Exception occurred: {0}", e.ToString)
            Environment.ExitCode = 101
        End Try
        Return
    End Sub

    Public Shared Function Test() As Boolean
        Dim bRes As Boolean = True
        Dim evidence1 As Evidence = GetTestEvidence
        Dim evidence2 As Evidence = GetTestEvidence
        Dim isf As IsolatedStorageFile = IsolatedStorageFile.GetStore((IsolatedStorageScope.User _
         Or IsolatedStorageScope.Assembly), _
         evidence1, _
         GetType(System.Security.Policy.Publisher), _
         evidence2, _
         GetType(System.Security.Policy.Publisher))
        Dim isfs As IsolatedStorageFileStream = New IsolatedStorageFileStream("AdminEvd1.testfile", _
         FileMode.OpenOrCreate, isf)
        isfs.WriteByte(5)
        isfs.Flush()
        isfs.Close()
        Return bRes
    End Function

    Public Shared Function GetTestEvidence() As Evidence

        ' For demonsration purposes, use a blank certificate.
        Dim CertTemp(63) As Byte
        Dim pub As Publisher = New Publisher(New X509Certificate(CertTemp))
        Dim arrObj(0) As Object
        arrObj(0) = CType(pub, Object)
        Return New Evidence(arrObj, arrObj)
    End Function
End Class

Comentários

Observação

Se o scope parâmetro for Domain e o domínio do aplicativo no qual o assembly estiver instalado não tiver IsolatedStorageFilePermission, o GetStore método retornará um IsolatedStorageFile objeto sem uma cota. Posteriormente, as tentativas de criar um IsolatedStorageFile objeto usando o IsolatedStorageFile objeto que não tem uma cota falharão com um IsolatedStorageException.

Confira também

Aplica-se a