Aracılığıyla paylaş


Yalıtım türleri

Yalıtılmış depolamaya erişim her zaman onu oluşturan kullanıcıyla sınırlıdır. Bu tür bir yalıtım uygulamak için ortak dil çalışma zamanı, işletim sisteminin tanıdığı kullanıcı kimliğiyle aynı algıyı kullanır. Bu, depo açıldığında kodun çalıştığı işlemle ilişkili kimliktir. Bu kimlik kimliği doğrulanmış bir kullanıcı kimliğidir, ancak kimliğe bürünme, geçerli kullanıcının kimliğinin dinamik olarak değişmesine neden olabilir.

Yalıtılmış depolamaya erişim, uygulamanın etki alanı ve derlemesiyle ilişkili kimliğe veya yalnızca derlemeye göre de kısıtlanır. Çalışma zamanı bu kimlikleri aşağıdaki yollarla elde eder:

  • Etki alanı kimliği, bir web uygulaması söz konusu olduğunda tam URL olabilecek uygulamanın kanıtını temsil eder. Shell tarafından barındırılan kod için domain kimliği, uygulama dizin yoluna dayanabilir. Örneğin, yürütülebilir dosya C:\Office\MyApp.exeyolundan çalışıyorsa etki alanı kimliği C:\Office\MyApp.exeolur.

  • Derleme kimliği, derlemenin tanımlayıcı özelliğidir. Bu, derlemenin tanımlayıcı adı, derlemenin yazılım yayımcısı veya URL kimliği olabilen şifreleme dijital imzasından gelebilir. Bir derlemenin hem tanımlayıcı adı hem de yazılım yayımcısı kimliği varsa, yazılım yayımcısı kimliği kullanılır. Derleme İnternet'ten geliyorsa ve imzasızsa, URL kimliği kullanılır. Derlemeler ve tanımlayıcı adlar hakkında daha fazla bilgi için bkz. Bütünleştirilmiş Kodlarla Programlama.

  • Gezici depolar, gezici kullanıcı profiline sahip bir kullanıcıyla birlikte hareket eder. Dosyalar bir ağ dizinine yazılır ve kullanıcının oturum açtığı herhangi bir bilgisayara indirilir. Gezici kullanıcı profilleri hakkında daha fazla bilgi için bakınız IsolatedStorageScope.Roaming.

Yalıtılmış depolama, kullanıcı, etki alanı ve derleme kimliği kavramlarını birleştirerek verileri aşağıdaki yollarla yalıtabilir ve bunların her birinin kendi kullanım senaryoları vardır:

Bu yalıtımlardan biri bir gezici kullanıcı profiliyle birleştirilebilir. Daha fazla bilgi için Yalıtılmış Depolama ve Dolaşım bölümüne bakın.

Aşağıdaki çizimde depoların farklı kapsamlarda nasıl yalıtılmış olduğu gösterilmektedir:

Kullanıcıya ve derlemeye göre yalıtımı gösteren diyagram.

Dolaşım depoları dışında, belirli bir bilgisayarın yerel depolama tesislerini kullandığından, yalıtılmış depolama her zaman bilgisayar tarafından örtük olarak yalıtılır.

Önemli

Yalıtılmış depolama, Windows 8.x Store uygulamalarında kullanılamaz. Bunun yerine, yerel verileri ve dosyaları depolamak için Windows Çalışma Zamanı API'sinde Windows.Storage yer alan ad alanları içindeki uygulama veri sınıflarını kullanın. Daha fazla bilgi için bkz. Windows Geliştirme Merkezi'ndeki uygulama verileri .

Kullanıcı ve Derlemeye Göre Yalıtım

Veri deposunu kullanan derlemenin herhangi bir uygulamanın etki alanından erişilebilir olması gerektiğinde, kullanıcı ve derlemeye göre yalıtım uygun olur. Genellikle bu durumda yalıtılmış depolama, birden çok uygulamada geçerli olan ve kullanıcının adı veya lisans bilgileri gibi belirli bir uygulamaya bağlı olmayan verileri depolamak için kullanılır. Kullanıcı ve derleme tarafından yalıtılmış depolamaya erişmek için, bilgiyi uygulamalar arasında aktaran kodun güvenilir olması gerekir. Genellikle, kullanıcı ve derlemeye göre yalıtıma intranetlerde izin verilir, ancak İnternet'te izin verilmez. Statik IsolatedStorageFile.GetStore yöntemi çağırmak ve bir kullanıcı ile derlemeyi IsolatedStorageScope geçirmek, bu tür bir yalıtımla depolama döndürür.

Aşağıdaki kod örneği, kullanıcıya ve derlemeye göre yalıtılmış bir depoyu alır. Mağazaya isoFile nesnesi üzerinden erişilebilir.

IsolatedStorageFile isoFile =
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
    IsolatedStorageScope.Assembly, null, null);
Dim isoFile As IsolatedStorageFile = _
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or _
        IsolatedStorageScope.Assembly, Nothing, Nothing)

Kanıt parametrelerini kullanan bir örnek için bkz GetStore(IsolatedStorageScope, Evidence, Type, Evidence, Type). .

Yöntemi GetUserStoreForAssembly , aşağıdaki kod örneğinde gösterildiği gibi bir kısayol olarak kullanılabilir. Bu kısayol, dolaşım yapabilen mağazaları açmak için kullanılamaz; bu gibi durumlarda kullanın GetStore .

IsolatedStorageFile isoFile = IsolatedStorageFile.GetUserStoreForAssembly();
Dim isoFile As IsolatedStorageFile = _
    IsolatedStorageFile.GetUserStoreForAssembly()

Kullanıcı, Etki Alanı ve Derlemeye Göre Yalıtım

Uygulamanız özel veri deposu gerektiren bir üçüncü taraf derleme kullanıyorsa, özel verileri depolamak için yalıtılmış depolamayı kullanabilirsiniz. Kullanıcıya, etki alanına ve derlemeye göre yalıtım, yalnızca belirli bir derlemedeki kodun verilere erişebilmesini sağlar ve yalnızca derleme, depoyu oluştururken çalıştırılan uygulama tarafından kullanıldığında ve yalnızca deponun oluşturulduğu kullanıcı uygulamayı çalıştırdığında sağlar. Kullanıcı, etki alanı ve derlemeye göre yalıtım, üçüncü taraf derlemenin diğer uygulamalara veri sızdırmasını engeller. Yalıtılmış depolama kullanmak istediğinizi biliyor ancak hangi yalıtım türünü kullanacağınızdan emin değilseniz, bu yalıtım türü varsayılan tercihiniz olmalıdır. statik GetStore yöntemini IsolatedStorageFile çağırmak ve bir kullanıcı, etki alanı ve derleme IsolatedStorageScope geçirmek, bu tür bir yalıtımla depolama döndürür.

Aşağıdaki kod örneği, kullanıcı, etki alanı ve derleme tarafından ayrıştırılmış bir depoyu alır. Mağazaya isoFile nesnesi üzerinden erişilebilir.

IsolatedStorageFile isoFile =
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
        IsolatedStorageScope.Domain |
        IsolatedStorageScope.Assembly, null, null);
Dim isoFile As IsolatedStorageFile = _
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or _
        IsolatedStorageScope.Domain Or _
        IsolatedStorageScope.Assembly, Nothing, Nothing)

Aşağıdaki kod örneğinde gösterildiği gibi kısayol olarak başka bir yöntem kullanılabilir. Bu kısayol, dolaşım yapabilen mağazaları açmak için kullanılamaz; bu gibi durumlarda kullanın GetStore .

IsolatedStorageFile isoFile = IsolatedStorageFile.GetUserStoreForDomain();
Dim isoFile As IsolatedStorageFile = _
    IsolatedStorageFile.GetUserStoreForDomain()

Yalıtılmış Depolama ve Dolaşım

Gezici kullanıcı profilleri, kullanıcının ağda bir kimlik ayarlamasını ve bu kimliği kullanarak tüm kişiselleştirilmiş ayarları taşıyarak herhangi bir ağ bilgisayarında oturum açmasını sağlayan bir Windows özelliğidir. Yalıtılmış depolama kullanan bir derleme, kullanıcının yalıtılmış depolama alanının gezici kullanıcı profiliyle birlikte taşınması gerektiğini belirtebilir. Dolaşım, kullanıcı ve derleme yalıtımıyla veya kullanıcı, etki alanı ve derleme yalıtımıyla birlikte kullanılabilir. Dolaşım kapsamı kullanılmıyorsa, gezici bir kullanıcı profili kullanılsa bile mağazalar dolaşıma alınmaz.

Aşağıdaki kod örneği, kullanıcı ve derleme tarafından yalıtılmış bir dolaşım deposu alır. Mağazaya isoFile nesnesi üzerinden erişilebilir.

IsolatedStorageFile isoFile =
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
        IsolatedStorageScope.Assembly |
        IsolatedStorageScope.Roaming, null, null);
Dim isoFile As IsolatedStorageFile = _
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or _
        IsolatedStorageScope.Assembly Or _
        IsolatedStorageScope.Roaming, Nothing, Nothing)

Kullanıcı, etki alanı ve uygulama tarafından yalıtılmış bir dolaşım deposu oluşturmak için bir etki alanı kapsamı eklenebilir. Aşağıdaki kod örneği bunu gösterir.

IsolatedStorageFile isoFile =
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User |
        IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain |
        IsolatedStorageScope.Roaming, null, null);
Dim isoFile As IsolatedStorageFile = _
    IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or _
        IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain Or _
        IsolatedStorageScope.Roaming, Nothing, Nothing)

Ayrıca bakınız