Problème de Web.config

cs_vds Messages postés 11 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 1 novembre 2005 - 26 oct. 2005 à 16:02
cs_vds Messages postés 11 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 1 novembre 2005 - 4 nov. 2005 à 09:32
Bonjour à tous!
Je développe une application web sous visual studio. (asp.net et c#)

J'ai une solution à l'interieur de laquelle j'ai 2 projets. Disons projet 1 et projet 2.

Dans le projet 1 j'ai une webForm où se trouve un formulaire qui me permet d'enregistrer des données dans une table. Lorsque j'enregistre des données, je dois créer des fichiers(portant le nom des infos entrées) dans un répertoire précis . Jusque là tout va bien.

La création de fichier se fait grâce à une classe qui se trouve dans le projet2. Et le répertoire précis est en fait défini dans une clé du webConfig dans le projet 2. Donc DANS ma classe du PROJET2 je fais
string rep = System.Configuration.ConfigurationSettings.AppSettings["repertoirePhysique"];

Le problème c'est que quand je compile et que j'éxécute le projet1, le web.config pris en compte est celui du projet1 et non celui du projet 2 comme je le voudrais et donc la clé n'est pas trouvée.

Je dois obligatoirement garder la même architecture et je dois ossi absolument laisser les clés dans le web.config du projet2.

Si mon problème inspire quelqu'un j'aimerai bien qu'il m'aide!!! Merci d'avance

14 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
26 oct. 2005 à 16:10
Hello,

Si tu as rajouté une référence à ton projet 2 pour créer un objet et l'utiliser, c'est normal qu'il utilise le web.config 1.
Si tu dois tout laisser en l'état, la seule solution que je vois c'est de transformer ta classe du projet 2 en Web Service, de cette manière, il accédera à son propre web.config.

Amicalement, SharpMao
0
cs_vds Messages postés 11 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 1 novembre 2005
26 oct. 2005 à 16:43
Merci SharpMao pour ta réponse si rapide.

J'ai transformé ma classe en serviceWeb comme tu me l'as dit mais j'ai exactement le même problème.

Voila la structure de mon serviceWeb:

[WebService]
public class MaClasse{

public monConstructeur(){
.....
string s = getMonRep();
}

[WebMethod]
public string getMonRep(){
return System.Configuration.ConfigurationSettings.AppSettings["repertoirePhysique"];

}
}

Que ce qui cloche?
Est ce que le "[WebMethod]" est indispensable?
Merci pour ton aide
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
28 oct. 2005 à 19:27
Hello,


Tu appelle bien la méthode à travers le web service ?


C'est à dire en ajoutant une référence Web et non une référence simple ?

Amicalement, SharpMao
0
cs_vds Messages postés 11 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 1 novembre 2005
28 oct. 2005 à 20:43
Ah oui en effet, j'ai laissé une reference simple!!!

Je testerai lundi car je n'ai pas le projet sous la main.

En tous les cas je te remercie pour avaoir éclairé ma lanterne!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
2 nov. 2005 à 10:53
Hello,

Je voulais juste savoir si ton problème était résolu.

Amicalement, SharpMao
0
cs_vds Messages postés 11 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 1 novembre 2005
2 nov. 2005 à 11:53
Coucou!


Alors je suis sure que ta solution est la bonne mais en fait je ne suis pas d tout familière avec les webServices.


Ce qu'i se passe c'est que sur mon projet1, je fais "Ajouter une référence web" ensuite je choisis "Services web sur l'ordinateur local". Là, dans la liste, mon service web apparait bien. Donc je le sélectionne puis je clikesur "Ajouter la référence" mais en fait quand je regarde la référence web ajoutée s'appelle "localhost"! Du coup je ne sais pas quoi faire comme "using" car ni le nom de mon service web n'est reconnu, ni localhost.


Du coup, quand jutilise les objets de mon service web dans le projet1, il ne les reconnait pas non plus!
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
2 nov. 2005 à 13:10
Hello,


VS te crée un proxy avec le même namespace.


Si tu utilise localhost, fsit :


using YourNameSpace.localhost;


Ensuite, tu peux utilise ton service :
YourService s = new YourService();
s.YourMethod();

Amicalement, SharpMao
0
cs_vds Messages postés 11 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 1 novembre 2005
2 nov. 2005 à 13:21
Bon j'ai essayé

Mais quand je fais "using myNameSpace.localhost", localhost n'est pas reconnu. De plus pour que "using myNameSpace" tout court soit reconnu, je suis obligée de laisser la référence normale en plus de la reference web.

Et bien entendu, mes objets non plus ne sont pas reconnus !
0
cs_vds Messages postés 11 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 1 novembre 2005
2 nov. 2005 à 13:26
RECTIFICATION!!!

Je me suis un peu trompée car j'ai pas fais attention mais je faisait "using monNameSpaceDuProjet2.localhost" et non "using monNameSpaceDuProjet1.localhost" alors que la ref est dans projet1.

Du coup pour le using g plus de probleme mais par contre les objets ne sont toujours pas reconnus avec:
YourService s = new YourService();
s.YourMethod();
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
2 nov. 2005 à 13:39
J'ai mis YourService, mais en fait, il s'agit de la classe MaClasse si je me réfère à un de tes post précédents. Donc :

MaClasse mc = new MaClasse();
mc.getMonRep();

Amicalement, SharpMao
0
cs_vds Messages postés 11 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 1 novembre 2005
2 nov. 2005 à 13:47
Ah désolée je me suis mal expriméee aussi.

C'est bien

MaClasse mc = new MaClasse();
mc.getMonRep();

que je fais...
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
2 nov. 2005 à 15:23
Je t'ai envoyé un message privé avec mon addresse, envoie-moi ta solution.

Amicalement, SharpMao
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
4 nov. 2005 à 07:44
Hello,

Je t'ai envoyé un mail,

Comme je l'ai précisé, ça compile chez moi, j'ai juste enlevé le
"using Project2"
et il faut aussi transformer ton constructeur à 3 params en une WebMéthode.

Amicalement, SharpMao
0
cs_vds Messages postés 11 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 1 novembre 2005
4 nov. 2005 à 09:32
Coucou!

Oui oui j'ai bien reçu ton mail c'est très gentil de ta part. Mais c'est vrai qu'en ce moment j'ai beaucoup de travail donc c'est difficile de te répondre tout de suite!!

Donc j'ai fait comme tu mas dit, j'ai enlevé using Project2 et j'ai transformé le constructeur mais j'ai toujours le même probleme. Les objets du projets 2 ne sont pas reconnus et comme erreur j'ai "une reference est peut etre manquante" pourtant j'ai bien laissé "using myNameSpace.localhost".

Enfin bon, j'en ai mare je dois pas être douée!
0