Condividi tramite


IsolatedStorageFile.GetStore Metodo

Definizione

Ottiene lo spazio di memorizzazione isolato corrispondente agli oggetti di evidenza dell'assembly e del dominio dell'applicazione specificati e all'ambito dello spazio di memorizzazione isolato.

Overload

GetStore(IsolatedStorageScope, Object)

Ottiene lo spazio di memorizzazione isolato corrispondente all'identità di applicazione specificata.

GetStore(IsolatedStorageScope, Type)

Ottiene lo spazio di memorizzazione isolato corrispondente all'ambito di isolamento e all'oggetto dell'identità di applicazione.

GetStore(IsolatedStorageScope, Object, Object)

Ottiene lo spazio di memorizzazione isolato corrispondente agli oggetti di evidenza del dominio dell'applicazione e dell'assembly specificati.

GetStore(IsolatedStorageScope, Type, Type)

Ottiene lo spazio di memorizzazione isolato corrispondente all'ambito dello spazio di memorizzazione isolato in base ai tipi di evidenza dell'assembly e del dominio dell'applicazione.

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

Ottiene lo spazio di memorizzazione isolato corrispondente agli oggetti e ai tipi di evidenza del dominio dell'applicazione e dell'assembly specificati.

GetStore(IsolatedStorageScope, Object)

Origine:
IsolatedStorageFile.cs
Origine:
IsolatedStorageFile.cs
Origine:
IsolatedStorageFile.cs

Ottiene lo spazio di memorizzazione isolato corrispondente all'identità di applicazione specificata.

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

Parametri

scope
IsolatedStorageScope

Combinazione bit per bit dei valori dell'enumerazione.

applicationIdentity
Object

Oggetto che contiene l'evidenza relativa all'identità di applicazione.

Restituisce

Oggetto che rappresenta i parametri.

Eccezioni

Non sono state concesse autorizzazioni sufficienti per lo spazio di memorizzazione isolato.

L'identità applicationIdentity non è stata passata.

scope non è valido.

Impossibile inizializzare una posizione dello spazio di memorizzazione isolato.

-oppure-

scope contiene il valore Applicationdi enumerazione , ma non è possibile determinare l'identità dell'applicazione del chiamante, perché per ActivationContext il dominio applicazione corrente è stato restituito null.

-oppure-

scope contiene il valore Domain, ma non è possibile determinare le autorizzazioni per il dominio dell'applicazione.

-oppure-

scope contiene il valore Assembly, ma non è possibile determinare le autorizzazioni per l'assembly chiamante.

Commenti

Nota

Se il scope parametro è IsolatedStorageScope.Application e il dominio dell'applicazione in cui è installato l'assembly non dispone IsolatedStorageFilePermissiondi , il GetStore metodo restituirà un IsolatedStorageFile oggetto senza una quota. I tentativi successivi di creare un IsolatedStorageFile oggetto usando l'oggetto IsolatedStorageFile che non dispone di una quota avranno esito negativo con un oggetto IsolatedStorageException.

Vedi anche

Si applica a

GetStore(IsolatedStorageScope, Type)

Origine:
IsolatedStorageFile.cs
Origine:
IsolatedStorageFile.cs
Origine:
IsolatedStorageFile.cs

Ottiene lo spazio di memorizzazione isolato corrispondente all'ambito di isolamento e all'oggetto dell'identità di applicazione.

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

Parametri

scope
IsolatedStorageScope

Combinazione bit per bit dei valori dell'enumerazione.

applicationEvidenceType
Type

Oggetto che contiene l'identità di applicazione.

Restituisce

Oggetto che rappresenta i parametri.

Eccezioni

Non sono state concesse autorizzazioni sufficienti per lo spazio di memorizzazione isolato.

L'identità applicationEvidence non è stata passata.

scope non è valido.

Impossibile inizializzare una posizione dello spazio di memorizzazione isolato.

-oppure-

scope contiene il valore Applicationdi enumerazione , ma non è possibile determinare l'identità dell'applicazione del chiamante, perché per ActivationContext il dominio applicazione corrente è stato restituito null.

-oppure-

scope contiene il valore Domain, ma non è possibile determinare le autorizzazioni per il dominio dell'applicazione.

-oppure-

scope contiene il valore Assembly, ma non è possibile determinare le autorizzazioni per l'assembly chiamante.

Commenti

Nota

Se il scope parametro è Application e il dominio dell'applicazione in cui è installato l'assembly non dispone IsolatedStorageFilePermissiondi , il GetStore metodo restituirà un IsolatedStorageFile oggetto senza una quota. I tentativi successivi di creare un IsolatedStorageFile oggetto usando l'oggetto IsolatedStorageFile che non dispone di una quota avranno esito negativo con un oggetto IsolatedStorageException.

Vedi anche

Si applica a

GetStore(IsolatedStorageScope, Object, Object)

Origine:
IsolatedStorageFile.cs
Origine:
IsolatedStorageFile.cs
Origine:
IsolatedStorageFile.cs

Ottiene lo spazio di memorizzazione isolato corrispondente agli oggetti di evidenza del dominio dell'applicazione e dell'assembly specificati.

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

Parametri

scope
IsolatedStorageScope

Combinazione bit per bit dei valori dell'enumerazione.

domainIdentity
Object

Oggetto che contiene l'evidenza relativa all'identità del dominio dell'applicazione.

assemblyIdentity
Object

Oggetto che contiene l'evidenza relativa all'identità dell'assembly del codice.

Restituisce

Oggetto che rappresenta i parametri.

Eccezioni

Non sono state concesse autorizzazioni sufficienti per lo spazio di memorizzazione isolato.

domainIdentityassemblyIdentity sono stati passati. Verifica che sia usato il costruttore corretto.

-oppure-

domainIdentity o assemblyIdentity è null.

scope non è valido.

Impossibile inizializzare una posizione dello spazio di memorizzazione isolato.

-oppure-

scope contiene il valore Applicationdi enumerazione , ma non è possibile determinare l'identità dell'applicazione del chiamante, perché per ActivationContext il dominio applicazione corrente è stato restituito null.

-oppure-

scope contiene il valore Domain, ma non è possibile determinare le autorizzazioni per il dominio dell'applicazione.

-oppure-

scope contiene il valore Assembly, ma non è possibile determinare le autorizzazioni per l'assembly chiamante.

Commenti

Questa forma di GetStore è più utile per il codice amministrativo che deve aprire un archivio come se fosse un altro assembly. L'archivio viene aperto per l'evidenza fornita e non per l'assembly attualmente in esecuzione.

Nota

Se il scope parametro è Domain e il dominio dell'applicazione in cui è installato l'assembly non dispone IsolatedStorageFilePermissiondi , il GetStore metodo restituirà un IsolatedStorageFile oggetto senza una quota. I tentativi successivi di creare un IsolatedStorageFile oggetto usando l'oggetto IsolatedStorageFile che non dispone di una quota avranno esito negativo con un oggetto IsolatedStorageException.

Vedi anche

Si applica a

GetStore(IsolatedStorageScope, Type, Type)

Origine:
IsolatedStorageFile.cs
Origine:
IsolatedStorageFile.cs
Origine:
IsolatedStorageFile.cs

Ottiene lo spazio di memorizzazione isolato corrispondente all'ambito dello spazio di memorizzazione isolato in base ai tipi di evidenza dell'assembly e del dominio dell'applicazione.

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

Parametri

scope
IsolatedStorageScope

Combinazione bit per bit dei valori dell'enumerazione.

domainEvidenceType
Type

Tipo di oggetto Evidence che è possibile selezionare dall'elenco di oggetti Evidence presente nel dominio dell'applicazione chiamante. null consente all'oggetto IsolatedStorage di scegliere l'evidenza.

assemblyEvidenceType
Type

Tipo di oggetto Evidence che è possibile selezionare dall'elenco di oggetti Evidence presente nel dominio dell'applicazione chiamante. null consente all'oggetto IsolatedStorage di scegliere l'evidenza.

Restituisce

Oggetto che rappresenta i parametri.

Eccezioni

Non sono state concesse autorizzazioni sufficienti per lo spazio di memorizzazione isolato.

scope non è valido.

Il tipo di evidenza fornito non è presente nell'elenco di evidenze dell'assembly.

-oppure-

Impossibile inizializzare una posizione dello spazio di memorizzazione isolato.

-oppure-

scope contiene il valore Applicationdi enumerazione , ma non è possibile determinare l'identità dell'applicazione del chiamante, perché per ActivationContext il dominio applicazione corrente è stato restituito null.

-oppure-

scope contiene il valore Domain, ma non è possibile determinare le autorizzazioni per il dominio dell'applicazione.

-oppure-

scope contiene il valore Assembly, ma non è possibile determinare le autorizzazioni per l'assembly chiamante.

Esempio

Nell'esempio di codice seguente viene illustrato il GetStore metodo . Per il contesto completo di questo esempio, vedere la IsolatedStorageFile panoramica.

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

Commenti

Questo è l'overload di GetStore più probabile che venga chiamato dal codice dell'applicazione.

Questo overload di GetStore apre un archivio isolato per i tipi di evidenza passati.

Nota

Se il scope parametro è Domain e il dominio dell'applicazione in cui è installato l'assembly non dispone IsolatedStorageFilePermissiondi , il GetStore metodo restituirà un IsolatedStorageFile oggetto senza una quota. I tentativi successivi di creare un IsolatedStorageFile oggetto usando l'oggetto IsolatedStorageFile che non dispone di una quota avranno esito negativo con un oggetto IsolatedStorageException.

Vedi anche

Si applica a

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

Ottiene lo spazio di memorizzazione isolato corrispondente agli oggetti e ai tipi di evidenza del dominio dell'applicazione e dell'assembly specificati.

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

Parametri

scope
IsolatedStorageScope

Combinazione bit per bit dei valori dell'enumerazione.

domainEvidence
Evidence

Oggetto che contiene l'identità del dominio dell'applicazione.

domainEvidenceType
Type

Tipo di identità da scegliere dall'evidenza del dominio dell'applicazione.

assemblyEvidence
Evidence

Oggetto che contiene l'identità dell'assembly del codice.

assemblyEvidenceType
Type

Tipo di identità da scegliere dall'evidenza dell'assembly del codice dell'applicazione.

Restituisce

Oggetto che rappresenta i parametri.

Eccezioni

Non sono state concesse autorizzazioni sufficienti per lo spazio di memorizzazione isolato.

L'identità domainEvidence o assemblyEvidence non è stata passata.

scope non è valido.

Impossibile inizializzare una posizione dello spazio di memorizzazione isolato.

-oppure-

scope contiene il valore Applicationdi enumerazione , ma non è possibile determinare l'identità dell'applicazione del chiamante, perché per ActivationContext il dominio applicazione corrente è stato restituito null.

-oppure-

scope contiene il valore Domain, ma non è possibile determinare le autorizzazioni per il dominio dell'applicazione.

-oppure-

scope contiene il valore Assembly, ma non è possibile determinare le autorizzazioni per l'assembly chiamante.

Esempio

Nell'esempio di codice seguente viene ottenuta l'archiviazione in base all'evidenza dell'editore.

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

Commenti

Nota

Se il scope parametro è Domain e il dominio dell'applicazione in cui è installato l'assembly non dispone IsolatedStorageFilePermissiondi , il GetStore metodo restituirà un IsolatedStorageFile oggetto senza una quota. I tentativi successivi di creare un IsolatedStorageFile oggetto usando l'oggetto IsolatedStorageFile che non dispone di una quota avranno esito negativo con un oggetto IsolatedStorageException.

Vedi anche

Si applica a