2009-11-24 4 views
1

Nous avons décidé d'utiliser le registre pour gérer notre déploiement avec des chaînes de connexion dans notre application VB.net.Stockage des chaînes de connexion dans le registre?

Les exigences sont les suivantes:

  1. Si le programme ne peut pas se connecter au serveur, vérifiez d'abord le registre pour une chaîne de connexion. SI ce n'est pas le cas, créez le dossier et indiquez le nom, le type et les données.
  2. Assurez-vous que c'est crypté.

Je n'ai jamais édité ou créé quelque chose dans le registre. Où est-ce que je commence? Si quelqu'un a des échantillons de code ou des liens vers des articles, je l'apprécierais vraiment.

Répondre

8

Il semble que ce tutoriel soit un good source for the problem. Je recommande fortement de ne pas stocker la chaîne de connexion dans le registre. Cela ajoute plus de travail et plus de dépendances à l'environnement d'exploitation actuel. De plus, les fichiers de configuration sont plus portables et conviennent mieux au stockage des informations relatives aux propriétés. Si vous utilisez un fichier de paramètres, les administrateurs de support et vos supporteurs vous en seront reconnaissants. [Comparé à placer l'information dans le registre.

+0

Malheureusement, je dois faire ce que disent les patrons, mais je suis totalement d'accord avec vous. – broke

+3

+1 pour ne pas utiliser le registre pour cela. Utilisez app.config à la place. –

+0

App.config ou un autre fichier de configuration. – monksy

6

Totalement d'accord avec Steven ici, mais si vous avez à le faire ... voici quelques informations De MSDN (lien vers tout ce que vous devez savoir au fond). L'exemple suivant lit, par incréments, puis écrit une valeur DWORD à HKCU:

Imports Microsoft.Win32 
Dim regVersion As RegistryKey 
regVersion = 
Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\TestApp\\1.0", True) 
If regVersion Is Nothing Then 
    ' Key doesn't exist; create it. 
    regVersion = 
Registry.CurrentUser.CreateSubKey("SOFTWARE\\Microsoft\\TestApp\\1.0") 
End If 

Dim intVersion As Integer = 0 
If (Not regVersion Is Nothing) Then 
    intVersion = regVersion.GetValue("Version", 0) 
    intVersion = intVersion + 1 
    regVersion.SetValue("Version", intVersion) 
    regVersion.Close() 
End If 

http://msdn.microsoft.com/en-us/library/aa289494%28VS.71%29.aspx

+0

Sweet Ill utilise de manière provocatrice ce – broke

+0

... mais n'oubliez pas que RegistryKey implémente IDisposable, de sorte que vous devriez envelopper chaque instanciation dans une instruction "using". Quelque chose qui est négligé dans beaucoup trop d'échantillons MSDN ... – Joe

Questions connexes