Question

Je vais (je l'espère) prise sur un grand projet de migration d'une entreprise d'application Visual FoxPro à C # 3.0 sur .NET 3.5. Je sais que cette application a un grand nombre de paramètres qui ont un impact sur tout, des configurations multi-utilisateurs / multi-site pour signaler les propriétés. Il y a au moins 150 paramètres différents qui sont actuellement portée globale.

Les paramètres sont actuellement stockés sous forme de bits seulement dans la base de données de l'application, ce qui les empêche d'être changé au niveau de l'utilisateur, puisque toutes les instances partagent le même db.

Ma question est, savez-vous d'une façon de gérer le stockage de ces paramètres qui leur permettront de changer par utilisateur, sans sacrifier les performances? Il devrait également être stocké d'une manière qui permet aux valeurs à changer alors que l'application fonctionne. Toutes les idées seraient appréciées.

Était-ce utile?

La solution

Le fichier Settings.settings standards je crois que vous offre cette fonctionnalité, y compris l'application ou de l'utilisateur Variables déclarées. Bien que je ne suis pas sûr à 100% si les changements sont pris en charge sans redémarrer l'application.

Voir ici pour plus d'informations: MSDN: Utilisation des paramètres en C #

Autres conseils

Si vous voulez aller « entreprise », vous pouvez essayer d'avoir une table de définitions de réglage, associé à une table de paramètres utilisateur.

Les définitions de réglage auraient le PK défini par une colonne de domaine (pour les paramètres de l'interface utilisateur, les paramètres de connexion, les paramètres linguistiques et ainsi de suite ...), et un identifiant de réglage. Une troisième colonne définirait la valeur par défaut / valeur globale.

Les paramètres de l'utilisateur aurait la série PK de réglage définitions de PK + id utilisateur et une colonne de valeur de réglage, varchar (x).

Si l'application est le langage courant, les colonnes d'identité linguistiques doivent être ajoutées aux deux tables.

modifications de l'utilisateur Enregistrement à la table des paramètres utilisateur doit être trivial. Être averti quand le changement des paramètres globaux est un peu plus compliqué.

EDIT: une chose à garder à l'esprit est de toujours fallback une certaine défaut:. Paramètre global / langue par défaut

Ajouter un champ utilisateur à la table dans la base de données de l'application que les paramètres stocke, puis ajoutez l'utilisateur actuel en tant que paramètre à tous lecture / écriture des appels à ce tableau.

Vous pourriez avoir à travailler à travers logiquement des éléments qui sont données / applications spécifiques par rapport utilisateur spécifique. Dans VFP (foxpro), les tables et leurs clés primaires respectives sont évidemment les mêmes, quel que soit l'utilisateur. D'autres choses, telles que les valeurs par défaut peuvent être personnalisables par utilisateur, les comptes, l'accès, les capacités à ajouter / modifier / supprimer, etc.

HTH

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top