2009-07-26 5 views

Répondre

1

Cela dépend du spécifique. En règle générale, il y a très peu de choses à stocker dans un fichier sur le serveur (à part les fichiers eux-mêmes tels que des images, des vidéos, des chansons, etc.) plutôt qu'une base de données. Si vous stockez, par exemple, les préférences du client, vous pouvez les stocker dans un fichier sur le client, mais cela a des problèmes de portabilité (en ce que les paramètres de profil ne vont pas à un autre PC avec le même utilisateur). être approprié si le client peut être utilisé "hors ligne". Probablement le meilleur des deux mondes est de stocker des choses dans une base de données sur le serveur et les mettre en cache sur le client (dans les fichiers probablement) pour permettre l'utilisation hors ligne, si cela est approprié à l'application en question.

1

Dépend de la façon dont l'accès dynamique aux valeurs doit être. Les mettre dans un fichier signifie avoir à éditer le fichier pour les changements.

Vous devez éditer le fichier, peut-être reconditionner l'application avec les nouvelles valeurs, et rebondir le serveur. Si vous utilisez une version éclatée du code sur le serveur, cela signifie donner aux clients des droits d'écriture sur le serveur, ce qui peut être problématique. Si vous les placez dans la base de données, les clients peuvent voir les modifications sans avoir à modifier un fichier. Ils arrivent à voir les valeurs tout de suite. Aucun rebond de serveur requis. Et vous pouvez distribuer l'accès en utilisant les permissions de la base de données.

MISE À JOUR: Une autre idée - les options pour tous les utilisateurs ou un seul individu? Si c'est la première, vous devez vous préoccuper de la «mise en conserve de l'huile», où un utilisateur change une valeur et une autre la repasse. Si c'est pour un seul individu, vous devez avoir un fichier pour chaque utilisateur. Une base d'utilisateurs importante pourrait être un problème.

0

Les clients ont besoin de lire seulement quelques paramètres de configuration, c'est tout. En outre, ces options ne seront pas modifiées à partir des clients, uniquement à partir du serveur.

+0

Ne créez pas de nouvelles réponses; éditez votre publication originale ou entrez comme commentaire. – duffymo

0

Cela dépend des cas d'utilisation, mais selon ma propre expérience, il est préférable de stocker les options dans la base de données. Dans le monde d'aujourd'hui, nous devons aller dans la mesure du possible vers un type d'architecture sans partage. De cette façon, si demain vous rendez votre application sûre, vous trouverez, il est préférable de stocker toutes les options dans la base de données. Parce que sinon, vous devez synchroniser vos fichiers sur les différents nœuds qui exécutent la copie de votre application. D'un autre côté, si c'est dans la base de données, tout est là dans db et la plupart des db supportent le type d'utilisation haute disponibilité, auquel cas vous n'avez pas besoin de garder votre application avec des fichiers tournant dans différents nœuds en synchronisation.

0

Cela dépend d'un certain nombre de facteurs:

  1. Avez-vous plus d'un Front End Server, l'approche de base de données nécessite moins de maintenance.
  2. Si vous avez un Dev, QA ainsi qu'un environnement Prod le fichier approche est logique que la configuration ne sera pas modifiée lors copie/restauration d'une base de données l'un des autres environnements.
0

Normalement, je stockerais les paramètres de configuration dans une base de données, si disponible. Cependant, dans le projet que je suis en train de travailler, le client veut plusieurs copies distribuées de la base de données, mises à jour depuis un maître. Chaque installation possède sa propre configuration, telle que les paramètres de l'imprimante.

La réponse dans ce cas est d'avoir un fichier de configuration local, où les paramètres utilisateur locaux sont stockés. L'application génère la valeur par défaut pour chaque paramètre. Si nécessaire, le fichier peut être modifié pour mettre à jour les paramètres à la volée.

Questions connexes