2016-12-08 1 views
0

J'ai deux projets, un projet asp.net MVC appelé Home et un projet de bibliothèque de classes C# appelé Home.Dao.Définition de la chaîne de connexion après publication sur le serveur IIS

  • Home est un projet simple MVC sans propriété ConnectionString dans son web.config
  • Home.Dao est un C# projet de bibliothèque de classe et il est responsable de toutes les interactions entre le code et la base de données. Il a un app.config et contient une propriété connectionstring

Lors de la publication du projet Home dans le serveur IIS, je ne trouve que ces fichiers (web.config, Hom.Dao.dll, ... etc) il y a aucune application.config publiée. Mon problème est que je ne peux pas définir la chaîne de connexion après la publication. J'ai donc deux questions à l'esprit:

  1. Comment est-il possible de définir connectionstring de web.config donc ce connectionstring peut être utilisé sur Home.Dao
  2. est possible de publier également le app.config?
+1

Vous ne pouvez pas créer une section de chaînes de connexion dans votre fichier web.config et l'utiliser? Puisque votre projet mvc référence votre bibliothèque de classes cela devrait fonctionner – steve

+0

Je peux le faire mais Home.Dao ne l'utilise pas –

+0

Il l'utilise, mon mauvais, j'ai copié ma chaîne de connexion depuis app.config vers web.config et j'ai obtenu ceci erreur: "Mot clé non pris en charge: UserId", nécessaire pour le modifier en: ID utilisateur. –

Répondre

2

Pour répondre à vos questions:

  1. Il est non seulement possible, il est nécessaire de définir la chaîne de connexion de web.config
  2. Vous pouvez copier le app.config dans le répertoire de sortie, mais cela ne vous serait d'aucune utilité.

Pour expliquer pourquoi:

Les fichiers de configuration sont créés uniquement pour l'application de niveau supérieur. Pour les applications Web, il s'agit du fichier web.config qui est copié dans le répertoire de sortie. Pour les exécutables, app.config est renommé en nom -executable-.exe.config. Les configurations sont uniquement lues à partir de la configuration de l'application de niveau supérieur. Tous les paramètres dont vous avez besoin doivent être présents. Donc, si vous transférez votre chaîne de connexion à votre web.config, vous êtes bon.

+0

Vous avez raison sur la première partie, je recevais une erreur "mot-clé non pris en charge: UserId", donc je pensais que je n'étais pas possible lors de la publication, mon mauvais. donc +1 pour la clarification du fonctionnement des fichiers de configuration. –