Aracılığıyla paylaş


Nasıl yapılır: Yalıtılmış Depolama için Depoları Alma

Yalıtılmış bir depo, bir veri bölmesinde sanal dosya sistemini kullanıma sunar. sınıfı, IsolatedStorageFile yalıtılmış bir depoyla etkileşim için bir dizi yöntem sağlar. Depoları IsolatedStorageFile oluşturmak ve almak için üç statik yöntem sağlar:

  • GetUserStoreForAssembly kullanıcı ve derleme tarafından yalıtılmış depolama döndürür.

  • GetUserStoreForDomain etki alanı ve derleme tarafından yalıtılmış depolamayı döndürür.

    Her iki yöntem de çağrıldıkları koda ait bir depoyu alır.

  • Statik yöntem GetStore , kapsam parametrelerinin bir bileşimi geçirilerek belirtilen yalıtılmış bir depo döndürür.

Aşağıdaki kod kullanıcı, derleme ve etki alanı tarafından yalıtılmış bir depo döndürür.

IsolatedStorageFile^ isoStore = IsolatedStorageFile::GetStore(IsolatedStorageScope::User |
    IsolatedStorageScope::Assembly | IsolatedStorageScope::Domain, (Type ^)nullptr, (Type ^)nullptr);
IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
    IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null);
Dim isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or
    IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, Nothing, Nothing)

Bir deponun GetStore gezici kullanıcı profiliyle dolaşımda olması gerektiğini belirtmek için yöntemini kullanabilirsiniz. Bunun nasıl ayarlanacağı hakkında ayrıntılı bilgi için bkz . Yalıtım Türleri.

Farklı derlemelerin içinden elde edilen yalıtılmış depolar varsayılan olarak farklı depolardır. Yöntemin parametrelerinde derlemeyi veya etki alanı kanıtını geçirerek farklı bir derlemenin veya etki alanının deposuna GetStore erişebilirsiniz. Bunun için uygulama etki alanı kimliğine göre yalıtılmış depolamaya erişim izni gerekir. Daha fazla bilgi için bkz GetStore . yöntem aşırı yüklemeleri.

GetUserStoreForAssembly, GetUserStoreForDomainve GetStore yöntemleri bir IsolatedStorageFile nesne döndürür. Durumunuz için en uygun yalıtım türüne karar vermenize yardımcı olmak için bkz . Yalıtım Türleri. Yalıtılmış bir depolama dosyası nesneniz olduğunda, dosyaları ve dizinleri okumak, yazmak, oluşturmak ve silmek için yalıtılmış depolama yöntemlerini kullanabilirsiniz.

Kodun, deponun kendisini almak için yeterli erişimi olmayan bir nesneyi koda geçirmesini engelleyen bir IsolatedStorageFile mekanizma yoktur. Etki alanı ve derleme kimlikleri ve yalıtılmış depolama izinleri yalnızca genellikle , GetUserStoreForDomainveya GetStore yönteminde bir IsolatedStorage nesneye GetUserStoreForAssemblybaşvuru elde edildiğinde denetlenmektedir. Bu nedenle nesnelere IsolatedStorageFile yapılan başvuruların korunması, bu başvuruları kullanan kodun sorumluluğundadır.

Örnek

Aşağıdaki kod, kullanıcı ve derleme tarafından yalıtılmış bir depoyu alan basit bir sınıf örneği sağlar. Kod, yöntemin geçirdiği bağımsız değişkenlere GetStore eklenerek IsolatedStorageScope.Domain kullanıcı, etki alanı ve derleme tarafından yalıtılmış bir depoyu alacak şekilde değiştirilebilir.

Kodu çalıştırdıktan sonra, komut satırına StoreAdm /LIST yazarak bir deponun oluşturulduğunu onaylayabilirsiniz. Bu, Yalıtılmış Depolama aracını (Storeadm.exe) çalıştırır ve kullanıcı için geçerli tüm yalıtılmış depoları listeler.

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

Ayrıca bkz.