Comment puis-je lire/écrire app.paramètres de configuration à l'exécution sans l'aide des paramètres de l'utilisateur?
Je suis à la recherche d'un moyen de stocker de l'application ou à la machine, les paramètres de niveau qui peuvent être inscrits au moment de l'exécution à l'aide de Les Paramètres De L'Application. Les paramètres de l'utilisateur permettent de lire/écrire, mais les paramètres de l'application ne le font pas. J'ai été en utilisant les paramètres de l'utilisateur pour l'enregistrement des paramètres comme ceci au moment de l'exécution, mais cela s'est avéré vraiment pas pratique, pour les raisons suivantes:
- Tous les utilisateurs de la machine nécessaire pour partager les paramètres.
- Dans les appels de soutien (en particulier dans les situations de crise), il est difficile d'expliquer aux utilisateurs/salariés où les trouver et de modifier ces paramètres manuellement (appdata est un dossier caché parmi d'autres choses).
- De nouvelles versions de l'application doivent utiliser les paramètres précédents (paramètres de l'utilisateur semblent se laisser emporter par de nouvelles versions).
- Il est commun pour nos employés pour copier l'application dans un nouveau dossier qui réinitialise également les paramètres de l'utilisateur.
Notre société machines ne sont utilisés que par un seul utilisateur de toute façon si spécifique à l'utilisateur, les paramètres ne sont généralement pas nécessaires.
Sinon j'aime vraiment utiliser les paramètres de l'application et que vous souhaitez continuer à utiliser si possible. Il serait idéal si les paramètres pourrait résider dans le même dossier que l'EXE (comme le bon vieux fichiers ini une fois n').
REMARQUE: C'est une application WPF et pas un ASP.net web app, donc pas de site web.config.
Cela ne semble pas juste pour moi. J'ai écrit de nombreux programmes d'écriture de fichiers xml dans le même répertoire que l'EXE sans déclenchement de l'UAC.
OriginalL'auteur Tim Santeford | 2010-09-03
Vous devez vous connecter pour publier un commentaire.
Bien, je n'ai pas encore voulu changer les paramètres de l'application au moment de l'exécution (c'est ce que j'utilise les paramètres de l'utilisateur pour), mais ce que j'ai pu faire est d'écrire les paramètres de l'application au moment de l'installation. J'imagine qu'une approche similaire pourrait être efficace lors de l'exécution. Vous pouvez essayer, car il ne semble pas y avoir d'autres propsed solutions ATM.
Espère que ça aide!
OriginalL'auteur Task
C'est la méthode qui permet de modifier des entrées dans le
<AppSettings>
:Note que j'ai trouvé, il est nécessaire d'actualiser la section
appSettings
après la mise à jour.La fonction supprime une clé avant qu'il ajoute à éviter la double saisie. Cela fonctionne également si la clé n'est pas le cas auparavant. Si il y a une erreur, elle retourne faux, sur le succès vrai. La méthode pour lire les paramètres est trivial et cités à des fins d'exhaustivité:
Note que j'ai entouré par un try ... finally bloc à supprimer les erreurs. Si des erreurs se produisent, puis GetSetting simplement renvoie la valeur null alors que SetSetting renvoie la valeur false. Qui rend la manipulation plus facile, mais si vous avez besoin des exceptions que vous pouvez toujours ajouter des
lancer l'exception jusqu'à l'appelant. Ou, pour le débogage, vous pourriez ajouter:
Qui va montrer l'exception dans le Sortie fenêtre de Visual Studio si vous avez sélectionné l'option "Debug" de la configuration, mais il va continuer avec le code.
Note (référence à un sujet similaire):
Le applicationSettings est différent, puisqu'il distingue entre "Utilisateur" et "Application" portée et il prend en charge différents types de données, et pas seulement des chaînes de caractères. Si vous voulez savoir comment vous pouvez gérer applicationSettings, vous pouvez le trouver ici (sur stackoverflow):
Comment accéder à applicationSettings
Si vous n'êtes pas sûr si vous devez utiliser
AppSettings
ouapplicationSettings
, puis lire ce avant de vous décider.Si vous rencontrez l'avertissement
'ConfigurationSettings.AppSettings' is obsolete
, puis cette astuce peut vous aider.OriginalL'auteur Matt
Des applications WPF sont en mesure d'accéder à l'application.fichier de config comme WinForms applications via le
méthode. Le truc est d'avoir les valeurs que vous souhaitez accéder dans le AppSettings tag de votre Application.fichier de configuration (également disponible dans les applications WPF).
Le truc à tout cela, c'est-à-assurez-vous d'appeler les méthodes suivantes quand vous avez terminé la modification de vos propriétés:
J'ai écrit un "comment" un peu tout à l'arrière qui explique tout ici.
Bon point. Je suppose que l'autre hypothèse est que l'application est installée dans un endroit où l'on peut modifier ce fichier.
OriginalL'auteur Dillie-O