Quel est le meilleur moyen pour les classes d'extraire/stocker des constantes sans les faire passer par web.config?Comment stocker et récupérer des constantes qui ne sont pas configurables dans ASP.NET?
Répondre
magasin eux comme statique dans une classe, quelque chose comme ceci:
public static class DbConstants
{
public static const string CustomersTableName = "CUST";
public static const string ProductsTableName = "PROD";
...
}
Tenir compte de les séparer dans plusieurs classes pour les regrouper logiquement, par exemple une classe pour les constantes DB, une classe pour les messages d'exception, etc.
Vous incluez une classe statique avec toutes vos constantes.
public static class MyConstants
{
public const string MyString = "ConstString";
public const int TestInt = 100;
// etc...
}
Ne devrais-je pas mettre en majuscule toutes les lettres de la variable membre? – burnt1ce
Je trouve LOOK_AT_ME_IM_A_CONSTANT_OOOH particulièrement ennuyeux. Peut-être que vous pourriez l'écrire comme constantNameOfConstant ou quelque chose de similaire. –
Cool merci. Je suis d'accord. – burnt1ce
Fichiers XML et utiliser Cache d'application pour améliorer les performances ou vous pouvez utiliser des fichiers de configuration ASP.NET.
L'utilisation d'un fichier XML ne serait-elle pas équivalente à l'utilisation de web.config qui est un fichier XML? – Kelsey
Kelsey: Je pense que ce serait pire, puisque vous devez analyser le Xml vous-même. Avec les fichiers .config vous pouvez éviter cela en utilisant le système de section fourni par .Net. –
sûr. mais en fonction de la structure de données que vous voulez stocker, ça vaut le coup. – Cleiton
Cela dépend de leur "constante". S'ils sont vraiment constants, c'est quelque chose qui ne changera jamais, alors une classe statique avec des constantes. Par exemple. le nombre PI, ou peut-être une constante contenant le nom d'un champ dans une table.
Si elles sont plus serveur spécifique, comme les chaînes de connexion, et vous ne voulez pas utiliser le web.config, vous voudrez peut-être vérifier la possibilité d'inclure un nouveau fichier de configuration de web.config
<appSettings file="local.config">...</appSettings>
Le fichier local.config ne doit alors contenir qu'un élément appSettings. Si le fichier local.config n'existe pas, il sera ignoré. Donc pas d'exceptions. Tout paramètre existant dans local.config et web.config, local.config sera utilisé. Vous pouvez ensuite partager un fichier de configuration Web entre de nombreuses installations et avoir des paramètres locaux remplacés dans le fichier local.config.
Si les constantes sont plus quelque chose qu'un super-utilisateur devrait être capable de modifier à l'exécution, alors une table dans une base de données est ce que je choisirais. Par exemple. un si vous laissez un superutilisateur modifier un mot de passe de tentative de réessai max ou quelque chose.
- 1. Colonnes configurables dans ASP.NET
- 2. Comment trouver des enregistrements qui ne sont pas joints?
- 3. Trouver des articles qui ne sont pas [Serializable]
- 4. Tables temporaires DB2: ne pas stocker ou ne pas récupérer d'informations
- 5. Icon.ExtractAssociatedIcon pour les objets qui ne sont pas des fichiers?
- 6. Mocking classes qui ne sont pas des interfaces
- 7. Comment créer des contrôles utilisateur Web configurables?
- 8. Stocker et récupérer le fichier .ZIP dans SQL Server 2005
- 9. Comment stocker et récupérer un StringDictionary dans app.config?
- 10. comment faire des éléments java enum configurables
- 11. Comment trouver les fonctions qui ne sont pas exécutées?
- 12. Comment stocker et récupérer des variables de session personnalisées dans Drupal 6?
- 13. Comment ajouter des éléments d'un tableau Perl qui ne sont pas déjà dans l'autre tableau?
- 14. Comment obtenir et enregistrer des constantes?
- 15. valeurs constantes dans Rails
- 16. Sécurité PHP: stocker les détails de connexion dans des constantes ou des propriétés privées?
- 17. Comment implémenter des pages Web configurables par l'utilisateur dans une application Web ASP.Net/AJAX
- 18. Comment modéliser et stocker des tâches récurrentes dans des rails?
- 19. Les constantes de chaîne sont-elles surestimées?
- 20. Comment stocker et récupérer des images dans la base de données du serveur SQL via VB.NET
- 21. MySQL: Comment stocker/récupérer des informations sur un artiste?
- 22. Trouver tous les fichiers dans un répertoire qui ne sont pas eux-mêmes des répertoires
- 23. Les lignes qui ressortent dans un fichier, mais ne sont pas des doublons exacts
- 24. Liste des fonctionnalités WPF qui ne sont pas dans Silverlight 3
- 25. Comment récupérer des données envoyées au serveur Web dans ASP.NET?
- 26. Constantes symboliques: Comment sont-elles stockées et quels sont leurs types?
- 27. Supprimer des fichiers du disque qui ne sont pas dans un projet Visual Studio
- 28. I18n et mots de passe qui ne sont pas US-ASCII, Latin1 ou Win1252
- 29. Dans Git, comment voyez-vous et gérez-vous les validations qui ne sont pas dans une branche?
- 30. viewDidAppear et viewWillDisappear ne sont pas appelés dans UIViewController
Est-ce que je ne devrais pas mettre en majuscule toutes les lettres de la variable membre? – burnt1ce
Les conventions de nommage courantes de C# déconseillent: http://msdn.microsoft.com/en-us/library/x2dbyw72(VS.71).aspx Ce cas est couvert dans le "Champ statique en lecture seule" ligne. –