Quand devrais-je opter pour IsolatedStorage par rapport au stockage de fichiers AppData?
-
20-08-2019 - |
Question
J'ai récemment découvert les IsolatedStorage
fonctionnalités dans .net, et je me demande quand je devrais les utiliser pour les données de mon application plutôt que quand (par exemple) Application.LocalUserAppDataPath
.
Une chose que j'ai remarquée est que Application
n'existe pas en dehors d'une application Winforms. Il semble donc que <=> pourrait avoir un sens pour une bibliothèque de classes nécessitant un stockage spécifique, en particulier si cette bibliothèque peut être utilisé à la fois par une application Web et une application Winforms. Est-ce le seul point distinctif ou y at-il autre chose?
(En règle générale, jusqu'à maintenant, j'ai demandé à l'application de fournir un flux de fichiers à la bibliothèque lorsque celle-ci aurait peut-être besoin d'une sorte de stockage externe - en général, je n'aime pas l'idée de une bibliothèque ayant une sorte d'état externe au contexte de l'appelant.)
La solution
IsolatedStorage a quelques fonctionnalités intéressantes qui pourraient vous faire opter pour cela:
-
Même les applications à très faible niveau de confiance (telles que click-once) peuvent accéder au stockage isolé. Toutes les applications ne peuvent pas accéder à AppData. Selon la politique de sécurité imposée à l'application, IsolatedStorage peut également être limité, mais il est généralement plus accessible que AppData / File System.
-
Les exigences de stockage IsolatedStorage peuvent être contrôlées par la stratégie de l'administrateur.
-
Vous n'avez pas besoin de savoir où et comment les données de stockage isolées sont stockées. Elle dispose d’une API uniforme pour l’accès à tous les systèmes. Vous pouvez donc ignorer complètement le chemin sous-jacent dans lequel elle est stockée. Comme vous l’avez indiqué, cela est très utile pour une bibliothèque qui n’a peut-être aucune idée de la manière dont l’application d’hébergement stocke les données.
-
Vous pouvez également avoir des données stockées dans un stockage isolé avec divers niveaux d’isolement. Pour plus d'informations, voir les valeurs IsolatedStorageScope . C’est son nom, alors j’aurais dû énumérer ce point en premier :)
À la baisse:
- IsolatedStorage a quelques limites notables dans la quantité de données que vous pouvez y stocker. Par exemple, les préférences de l'application conviendront, mais pas pour les documents.
Quelques liens utiles: