Sdílet prostřednictvím


IsolatedStorageFile.GetStore Metoda

Definice

Získá izolované úložiště odpovídající dané doméně aplikace a objektům důkazu sestavení a oboru izolovaného úložiště.

Přetížení

GetStore(IsolatedStorageScope, Object)

Získá izolované úložiště odpovídající dané identitě aplikace.

GetStore(IsolatedStorageScope, Type)

Získá izolované úložiště odpovídající oboru izolace a objektu identity aplikace.

GetStore(IsolatedStorageScope, Object, Object)

Získá izolované úložiště odpovídající dané doméně aplikace a objekty důkazu sestavení.

GetStore(IsolatedStorageScope, Type, Type)

Získá izolované úložiště odpovídající oboru izolovaného úložiště vzhledem k doméně aplikace a sestavení evidence typů.

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

Získá izolované úložiště odpovídající dané doméně aplikace a sestavení důkaz objekty a typy.

GetStore(IsolatedStorageScope, Object)

Zdroj:
IsolatedStorageFile.cs
Zdroj:
IsolatedStorageFile.cs
Zdroj:
IsolatedStorageFile.cs

Získá izolované úložiště odpovídající dané identitě aplikace.

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

Parametry

scope
IsolatedStorageScope

Bitová kombinace hodnot výčtu.

applicationIdentity
Object

Objekt, který obsahuje důkazy o identitě aplikace.

Návraty

Objekt, který představuje parametry.

Výjimky

Nebyla udělena dostatečná oprávnění izolovaného úložiště.

Identita applicationIdentity nebyla předána.

Hodnota scope je neplatná.

Umístění izolovaného úložiště nelze inicializovat.

-nebo-

scope obsahuje hodnotu Applicationvýčtu , ale identitu aplikace volajícího nelze určit, protože ActivationContext pro aktuální doménu aplikace byla vrácena nullhodnota .

-nebo-

scope obsahuje hodnotu Domain, ale oprávnění pro doménu aplikace nelze určit.

-nebo-

scope obsahuje hodnotu Assembly, ale oprávnění pro volající sestavení nelze určit.

Poznámky

Poznámka

scope Pokud parametr je IsolatedStorageScope.Application a doména aplikace, ve které je nainstalováno sestavení nemá IsolatedStorageFilePermission, GetStore metoda vrátí IsolatedStorageFile objekt bez kvóty. Pozdější pokusy o vytvoření objektu IsolatedStorageFile pomocí objektu IsolatedStorageFile , který nemá kvótu, selžou s chybou IsolatedStorageException.

Viz také

Platí pro

GetStore(IsolatedStorageScope, Type)

Zdroj:
IsolatedStorageFile.cs
Zdroj:
IsolatedStorageFile.cs
Zdroj:
IsolatedStorageFile.cs

Získá izolované úložiště odpovídající oboru izolace a objektu identity aplikace.

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

Parametry

scope
IsolatedStorageScope

Bitová kombinace hodnot výčtu.

applicationEvidenceType
Type

Objekt, který obsahuje identitu aplikace.

Návraty

Objekt, který představuje parametry.

Výjimky

Nebyla udělena dostatečná oprávnění izolovaného úložiště.

Identita applicationEvidence nebyla předána.

Hodnota scope je neplatná.

Umístění izolovaného úložiště nelze inicializovat.

-nebo-

scope obsahuje hodnotu Applicationvýčtu , ale identitu aplikace volajícího nelze určit, protože ActivationContext pro aktuální doménu aplikace byla vrácena nullhodnota .

-nebo-

scope obsahuje hodnotu Domain, ale oprávnění pro doménu aplikace nelze určit.

-nebo-

scope obsahuje hodnotu Assembly, ale oprávnění pro volající sestavení nelze určit.

Poznámky

Poznámka

scope Pokud parametr je Application a doména aplikace, ve které je nainstalováno sestavení nemá IsolatedStorageFilePermission, GetStore metoda vrátí IsolatedStorageFile objekt bez kvóty. Pozdější pokusy o vytvoření objektu IsolatedStorageFile pomocí objektu IsolatedStorageFile , který nemá kvótu, selžou s chybou IsolatedStorageException.

Viz také

Platí pro

GetStore(IsolatedStorageScope, Object, Object)

Zdroj:
IsolatedStorageFile.cs
Zdroj:
IsolatedStorageFile.cs
Zdroj:
IsolatedStorageFile.cs

Získá izolované úložiště odpovídající dané doméně aplikace a objekty důkazu sestavení.

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

Parametry

scope
IsolatedStorageScope

Bitová kombinace hodnot výčtu.

domainIdentity
Object

Objekt, který obsahuje důkazy pro identitu domény aplikace.

assemblyIdentity
Object

Objekt, který obsahuje důkazy pro identitu sestavení kódu.

Návraty

Objekt, který představuje parametry.

Výjimky

Nebyla udělena dostatečná oprávnění izolovaného úložiště.

assemblyIdentity Ani domainIdentity nebylo předáno. Tím se ověří, že se používá správný konstruktor.

-nebo-

Buď je domainIdentity , nebo assemblyIdentity je null.

Hodnota scope je neplatná.

Umístění izolovaného úložiště nelze inicializovat.

-nebo-

scope obsahuje hodnotu Applicationvýčtu , ale identitu aplikace volajícího nelze určit, protože ActivationContext pro aktuální doménu aplikace byla vrácena nullhodnota .

-nebo-

scope obsahuje hodnotu Domain, ale oprávnění pro doménu aplikace nelze určit.

-nebo-

scope obsahuje hodnotu Assembly, ale oprávnění pro volající sestavení nelze určit.

Poznámky

Tato forma GetStore je nejužitečnější pro kód pro správu, který potřebuje otevřít úložiště, jako by to bylo jiné sestavení. Úložiště je otevřeno pro poskytnuté důkazy, a nikoli pro aktuálně spuštěné sestavení.

Poznámka

scope Pokud parametr je Domain a doména aplikace, ve které je nainstalováno sestavení nemá IsolatedStorageFilePermission, GetStore metoda vrátí IsolatedStorageFile objekt bez kvóty. Pozdější pokusy o vytvoření objektu IsolatedStorageFile pomocí objektu IsolatedStorageFile , který nemá kvótu, selžou s chybou IsolatedStorageException.

Viz také

Platí pro

GetStore(IsolatedStorageScope, Type, Type)

Zdroj:
IsolatedStorageFile.cs
Zdroj:
IsolatedStorageFile.cs
Zdroj:
IsolatedStorageFile.cs

Získá izolované úložiště odpovídající oboru izolovaného úložiště vzhledem k doméně aplikace a typům důkazů sestavení.

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

Parametry

scope
IsolatedStorageScope

Bitová kombinace hodnot výčtu.

domainEvidenceType
Type

Typ Evidence , který můžete zvolit ze seznamu v Evidence doméně volající aplikace. null umožňuje objektu IsolatedStorage zvolit důkaz.

assemblyEvidenceType
Type

Typ Evidence , který můžete zvolit ze seznamu v Evidence doméně volající aplikace. null umožňuje objektu IsolatedStorage zvolit důkaz.

Návraty

Objekt, který představuje parametry.

Výjimky

Nebyla udělena dostatečná oprávnění izolovaného úložiště.

Hodnota scope je neplatná.

Zadaný typ důkazu chybí v seznamu důkazů sestavení.

-nebo-

Umístění izolovaného úložiště nelze inicializovat.

-nebo-

scope obsahuje hodnotu Applicationvýčtu , ale identitu aplikace volajícího nelze určit, protože ActivationContext pro aktuální doménu aplikace byla vrácena nullhodnota .

-nebo-

scope obsahuje hodnotu Domain, ale oprávnění pro doménu aplikace nelze určit.

-nebo-

scope obsahuje Assembly, ale oprávnění pro volající sestavení nelze určit.

Příklady

Následující příklad kódu ukazuje metodu GetStore . Úplný kontext tohoto příkladu najdete v přehledu IsolatedStorageFile .

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

Poznámky

Jedná se o přetížení, které GetStore se s největší pravděpodobností bude volat z kódu aplikace.

Toto přetížení GetStore otevře izolované úložiště pro typy důkazů, které jsou předány.

Poznámka

scope Pokud parametr je Domain a doména aplikace, ve které je nainstalováno sestavení nemá IsolatedStorageFilePermission, GetStore metoda vrátí IsolatedStorageFile objekt bez kvóty. Pozdější pokusy o vytvoření objektu IsolatedStorageFile pomocí objektu IsolatedStorageFile , který nemá kvótu, selžou s objektem IsolatedStorageException.

Viz také

Platí pro

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

Získá izolované úložiště odpovídající dané doméně aplikace a objektům a typům důkazu sestavení.

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

Parametry

scope
IsolatedStorageScope

Bitová kombinace hodnot výčtu.

domainEvidence
Evidence

Objekt, který obsahuje identitu domény aplikace.

domainEvidenceType
Type

Typ identity, který se má vybrat z důkazů domény aplikace.

assemblyEvidence
Evidence

Objekt, který obsahuje identitu sestavení kódu.

assemblyEvidenceType
Type

Typ identity, který se má vybrat z důkazů sestavení kódu aplikace.

Návraty

Objekt, který představuje parametry.

Výjimky

Nebyla udělena dostatečná oprávnění izolovaného úložiště.

Identita domainEvidence nebo assemblyEvidence nebyla předána.

Hodnota scope je neplatná.

Umístění izolovaného úložiště nelze inicializovat.

-nebo-

scope obsahuje hodnotu Applicationvýčtu , ale identitu aplikace volajícího nelze určit, protože ActivationContext pro aktuální doménu aplikace byla vrácena null.

-nebo-

scope obsahuje hodnotu Domain, ale oprávnění pro doménu aplikace nelze určit.

-nebo-

scope obsahuje hodnotu Assembly, ale nelze určit oprávnění pro volající sestavení.

Příklady

Následující příklad kódu získá úložiště na základě důkazů vydavatele.

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

Poznámky

Poznámka

scope Pokud parametr je Domain a doména aplikace, ve které je nainstalováno sestavení nemá IsolatedStorageFilePermission, GetStore metoda vrátí IsolatedStorageFile objekt bez kvóty. Pozdější pokusy o vytvoření objektu IsolatedStorageFile pomocí objektu IsolatedStorageFile , který nemá kvótu, selžou s objektem IsolatedStorageException.

Viz také

Platí pro