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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin