2010-03-29 8 views
3

Normalement, lorsque vous avez un fichier de configuration d'application dans votre application et que votre application est supposée en lire.Meilleures pratiques App.Config?

Est-il bon de vérifier d'abord au démarrage si ce fichier existe et de déclencher une erreur et de ne pas procéder du tout? (Le pire des cas)

Ou laissez-le au gestionnaire d'exceptions non gérées de le gérer et de fermer l'application? (WPF/Winforms etc)

Des conseils?

Répondre

3

Une meilleure approche consisterait à configurer des valeurs par défaut saines et à les exécuter en l'absence du fichier. Vraiment, que se passe-t-il si le fichier est présent, mais certains paramètres critiques ont été supprimés par l'utilisateur?

En particulier, si l'utilisateur peut modifier les points de configuration à l'aide d'une interface utilisateur d'application, le blocage en l'absence du fichier entraîne une situation irrécupérable.

+0

+1. app.config doit être une méthode * facultative * pour modifier la configuration par défaut. –

+1

Cela est vrai, mais il est également utile d'informer l'utilisateur que le paramètre est manquant ou de consigner explicitement les paramètres utilisés pour cette exécution. S'ils ont juste fait une petite faute de frappe, ignorer silencieusement leur erreur pourrait entraîner beaucoup de frustration. –

1

Vous pouvez utiliser quelque chose comme ça, définir des valeurs par défaut dans le code, mais triing de le lire à partir app.config:

private static int SomeValue 
{ 
    get 
    { 
     int result = 60; //Some default value 
     string str = ConfigurationManager.AppSettings["SomeValue"]; 
     if (!String.IsNullOrEmpty(str)) 
     { 
      Int32.TryParse(str, out result); 
     } 
     return result; 
     } 
}