2009-09-04 7 views
1

1) J'utilise Visual Studio 2008 (C#)paramètres Alternate (scope utilisateur) dans une application de bureau C#

2) Je veux que mon application de bureau pour "se rappeler" certains paramètres (préférences) pour chaque utilisateur individuellement.

3) L'application utiliserait sa propre base de données d'utilisateurs (logins + mots de passe), donc ils n'ont rien à voir avec les comptes Windows.

Comment puis-je accomplir cela? Essayer de trouver une réponse

4) Je l'ai trouvé « Utilisation jeux de réglages alternatifs » sujet sur MSDN =>http://msdn.microsoft.com/en-us/library/aa730869%28VS.80%29.aspx - mais

5) suggère que même ces paramètres alternatifs doivent être ajoutés dans la conception temps. C'est un peu un problème, parce que:

6) Je ne sais pas à l'avance, combien d'utilisateurs seraient dans la base de données - et je veux que «l'utilisateur principal» (admin) ait une option d'ajouter plus comptes à tout moment il veut.

Donc 7) Comment puis-je accomplir cela?

Jusqu'ici j'ai pensé à: 8) en utilisant des fichiers de stockage isolés? 9) dériver ma propre classe de la classe ApplicationSettingsBase et lui fournir une méthode SaveAs() qui lui manque par défaut)?

Merci pour vos réponses/suggestions. Si mon problème n'est pas très clair, je suis heureux de clarifier

Répondre

1

Si vous avez une base de données qui stocke les utilisateurs et les mots de passe, pourquoi ne pas y stocker les paramètres de l'application? Je suppose que vous utilisez SQL Server (Express ou commercial)

Tous les "Paramètres" sont en .NET sont la clé, paires de valeurs, et je ne vois pas pourquoi vous ne pourriez pas accomplir exactement cette même fonctionnalité avec une paire de valeurs de nom dans la base de données. J'ai trouvé que les outils de configuration et de paramétrage étaient déroutants et difficiles à utiliser, donc si vous avez déjà une base de données avec des utilisateurs, vous pouvez aussi tirer parti de votre infrastructure existante.

1

Vous pouvez utiliser une base de données SQLite pour stocker toutes les données. (Voir System.Data.SQLite)

1

Vous devez penser à utiliser le fournisseur d'adhésion ASP.NET. Il permet les paramètres de personnalisation par utilisateur ainsi que les paramètres «tous les utilisateurs».

Il a été conçu pour les sites Web, mais vous pouvez le configurer pour l'utiliser facilement dans une application de bureau. En outre, une API complète est déjà écrite pour cela.

Questions connexes