2 votes

Quelles sont les options disponibles pour stocker les paramètres de l'application dans asp.net mvc2 ?

J'ai besoin de stocker les paramètres de l'application quelque part, mais je ne trouve pas de solution satisfaisante. Les paramètres en lecture seule sont assez faciles à stocker dans web.config, mais qu'en est-il des paramètres d'administration de l'application qui devraient être accessibles via une page web ? L'écriture dans web.config ne semble pas être une bonne idée. J'ai envisagé de stocker les paramètres dans un fichier xml personnalisé, mais s'il y a des informations sensibles impliquées dans les paramètres, cela semble être un problème, aussi si plusieurs utilisateurs modifient les paramètres en même temps, une sorte de verrouillage de fichier doit être impliqué. Maintenant, je suis enclin à stocker les paramètres de l'application dans la base de données MS-SQL, cela semble être une solution sûre et évolutive, mais il me semble que c'est une erreur d'avoir une table pour stocker une seule ligne - les paramètres. Quelle est votre opinion ? Comment concevriez-vous cela ?

Existe-t-il des solutions .NET prêtes à l'emploi pour le stockage des paramètres des applications web dynamiques ?

3voto

Darin Dimitrov Points 528142

Votre question est tellement subjective que je ne sais même pas pourquoi j'y réponds au lieu de voter la clôture. Mais de toute façon, une base de données est un bon endroit. Et si vous vous ennuyez et êtes fatigué des données relationnelles, il existe d'excellents outils de gestion de base de données. NoSQL des bases de données existantes telles que MongoDB y RavenDB qui rendra cela très facile. Et si vous voulez une base de données très rapide Redis pourrait valoir la peine d'être vérifiée.

Stocker des éléments dans des fichiers dans une application web est bien plus difficile qu'il n'y paraît au premier abord. S'il s'agit d'une lecture seule, alors le fichier web.config pourrait être un bon endroit. Mais dès que vous commencerez à écrire, vous devrez tenir compte du fait qu'une application web est un environnement multithread où vous devrez synchroniser l'accès à ce fichier. Et ce qui semblait être une solution facile au départ, pourrait rapidement se transformer en cauchemar si vous voulez le concevoir correctement. C'est pourquoi je pense qu'une base de données est une bonne solution car elle vous offre la concurrence, la sécurité, l'atomicité, l'intégrité des données, ...

2voto

IamDeveloper Points 1575

Je suis absolument convaincu que le stockage des paramètres de nature dynamique dans une base de données est la bonne solution. Ne vous sentez pas mal d'avoir une simple table. Cette table peut vous éviter bien des maux de tête. Si vous la codez intelligemment, vous pouvez vraiment en tirer profit (mais cela dépend du type de valeurs que vous voulez stocker). Le seul problème avec la base de données est que quelqu'un peut modifier les valeurs directement dans la base de données. Mais cela peut être facilement résolu. Par exemple, j'ai une classe "configuration-values" que j'alimente depuis la base de données au démarrage et que je mets en cache avec un certain délai. Ensuite, après un certain temps, je peux paresseusement l'alimenter à nouveau, en attrapant des situations comme celles que j'ai mentionnées ci-dessus. J'espère que cela a un sens.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X