2010-04-12 18 views
6

Est-ce que quelqu'un sait s'il est possible de créer une seule chaîne de connexion qui sera accessible à tous les projets dans une solution (nous en avons environ 6).Comment créer une chaîne de connexion Wide Solution

Je peux créer un fichier texte avec ces informations, mais nous avons également besoin de la prise en charge de la conception et il n'est pas pratique d'avoir une chaîne de connexion dans chaque fichier App.Config et Web.config de la solution.

Nous voulons essentiellement une chaîne de connexion unique qui est facile à changer si l'emplacement du changement db, qui sera également utilisé par l'EDI pour le soutien de la conception

+0

Premièrement, je suis un développeur Delphi et TRÈS nouveau pour l'environnement .Net ... Si je peux en donner plus d'informations: Nous avons 1 EXE, 1 application web, et de nombreuses DLL. Nous voulons que tous les projets puissent y accéder au moment de l'exécution ET du temps de conception – Renier

Répondre

2

Je ne sais pas, tu ne peux pas mettre un nouveau fichier de configuration pour les éléments de la solution et l'inclure et le charger dans tous les projets? Edit: Je parle spécifiquement d'un fichier de configuration général (XML), pas d'un "App.config". Il a exactement le même format, il va juste par un nom différent. Ajoutez ce fichier à vos éléments de solution et accédez-y en utilisant OpenMappedExeConfiguration. Vous pouvez trouver un exemple supplémentaire here.

+0

Cela ne semble pas possible ... mais je pourrais aussi manquer quelque chose. Comme mentionné dans le commentaire ci-dessus, je suis assez nouveau pour .net – Renier

+0

OK Cela devient très utile maintenant. J'ai également réussi à écrire une fonction très similaire. Le même principe s'appliquera. Dans le fichier Settings.settings de notre DLL, j'ai déclaré une chaîne de connexion. Cela peut être accédé de la façon suivante pour FormName.Designer.cs this._connection.ConnectionString = global :: MyDLL.Properties.Settings.Default.MyConnectionString; La dernière question que j'ai, les fichiers * .designer.cs sont générés par le système. Si j'ai été la chaîne de connexion dans le fichier designer.cs, et que j'ai ensuite apporté des modifications au concepteur visuel, va-t-il supprimer cet ajout manuel que j'ai ajouté? – Renier

+0

Je suis désolé, je ne le sais pas. Peut-être juste essayer? :) – mafu

1

mettez la chaîne de connexion dans la config de votre projet "principal". Créez un projet d'accès aux données avec une propriété connectionstring. Définissez cette propriété lorsque vous initialisez votre projet et utilisez le projet Data Access pour toutes les actions relatives aux bases de données dans les 6 projets.

+0

Cela ne marchera que s'il y a un projet principal, pas si par ex. plusieurs projets produisent chacun un .exe. – nos

+0

Vous pouvez également utiliser la chaîne de connexion dans le fichier de configuration du projet Data Access. De cette façon, vous ne l'avez qu'à un seul endroit – Ivo

+0

Ivo ... C'est essentiellement ce que nous avons essayé ... mais je ne peux y accéder qu'à l'exécution. Nous avons également besoin d'un support de temps de conception (en particulier pour les rapports DevXpress). Nous fonctionnons dans une base de données postgreSQL et utilisons les composants UniDirect de Devart. – Renier