2010-04-14 4 views
1

Avec ce code, je peux avoir Silverlight demander à l'utilisateur s'il veut augmenter IsolatedStorage:Est-il possible de réduire la capacité IsolatedStorage dans Silverlight?

private void Button_IncreaseIsolatedStorage_Click(object sender, RoutedEventArgs e) 
{ 
    IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication(); 
    long newStorageCapacityInBytes = FileHelpers.GetMaxiumumSpace() + SystemHelpers.GetAmountOfStorageToIncreaseWhenNeededInBytes(); 
    store.IncreaseQuotaTo(newStorageCapacityInBytes); 
    Message = "IsolatedStorage increased. " + FileHelpers.GetSpaceLeftMessage(); 
} 

Mais si j'essaie de le mettre à un montant inférieur à ce courant est, je reçois une erreur que ce n'est pas possible.

  1. est-il une solution pour cela, à savoir que je peux réduire la quantité de IsolatedStorage? Cela serait utile à des fins de test au moins.

  2. Question connexe: Lorsque l'utilisateur accepte d'augmenter IsolatedStorage, d'autres applications peuvent-elles utiliser cette capacité ou simplement l'application dans laquelle il l'a augmenté? Je suppose que c'est la raison pour laquelle la limitation ci-dessus est là.

Répondre

2

Depuis l'augmentation est effectuée sur un IsolatedStorage fichier, seul votre application (ou d'autres hébergés dans votre domaine) peuvent utiliser le nouveau quota:

Depuis les magasins isolés sont étendus à des ensembles particulier , la plupart des autres codes gérés ne pourront pas accéder aux données de votre code (un code managé hautement sécurisé et des outils d'administration peuvent accéder aux magasins d'autres assemblys). Le code non géré peut accéder à tous les magasins isolés.

, il semble aussi qu'une fois que vous augmentez, vous ne pouvez pas revenir en arrière (programme):

Une application partage son quota avec toutes les autres applications qui sont hébergées sur le même domaine (site Web). Le quota initial est de 1 Mo pour être partagé par toutes les applications du domaine. La nouvelle taille de quota ne doit pas être inférieure au quota actuel. Seules les augmentations de quota sont autorisées.

http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragefile.increasequotato%28v=VS.95%29.aspx

0

La seule façon de réduire IsolatedStorage fois alloué est de supprimer un des sites IsolatedStorage en utilisant la boîte de dialogue de configuration Silverlight. Vous ne pouvez pas le faire par programme, l'utilisateur doit ouvrir la boîte de dialogue de configuration et choisir délibérément de supprimer le stockage des sites.

Le quota est alloué au site alors oui lorsqu'une application demande l'augmentation du quota, d'autres applications du site peuvent allouer de l'espace à partir de ce quota.