Liaisoin avec un évènement

Traxhat Messages postés 18 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 10 octobre 2005 - 25 févr. 2005 à 10:08
Traxhat Messages postés 18 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 10 octobre 2005 - 1 mars 2005 à 08:03
Salut

J'ai inclus un composant (dll c#) dans une appli ASP.NET (en c#) et j' ai récupéré l'évènement associé à ce composant en ajoutant la gestion de mon évènement avec :
MonObject.MonEvent +=
new MonObject.MonObjectEvents_MonEvent EventHandler(MonObject_MonEvent );

Mon problème est qu'il y passe bien 1 ou 2 fois mais c tout alors qu'il devrait y passait bcp plus, on dirait qu'il arrète le traitement ...

Pour vérifier le fonction de mon composant, j'ai refais le même projet qu'en c# en utilisant le même code et là ca marche bien.

Est ce que j'aurai pas oublié de faire qch ?

10 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 févr. 2005 à 10:26
Dans ton autre projet qui marche pas, il y a quoi de plus que l'autre ? il y a un autre truc qui pourrait faire planter ?



car avec ce que tu nous dit on peut pas beaucoup t'aider

<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr
0
Traxhat Messages postés 18 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 10 octobre 2005
25 févr. 2005 à 10:39
Le code c# est identique dans les 2 projets c pour ca que je comprends pas pq ca marche dans l'un et pas dans celui en asp.net ...

J'appelle une fonction du composant qui va appeler l'évènement pour me dire où il en est dans sa gestion. Dans le projet asp il y passe 2 fois et plus rien, dans l'autre il y passe 5 fois (ce qui est le fonctionnement normal)

Est ce que le fait que ce soit un projet web fait que l'appel des évènements est géré différement?

c plus clair là ?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 févr. 2005 à 11:05
Lol, c'est deux projets strictement identique, et l'un fonctionne l'autre non ?



Dans un cas pareil, je me dit que le premier a du avoir une modif
quelque part et que ca plante, alors je continuerais à developper sur
l'autre



Au pire si t'as envie de t'amuser à trouver ou ca foire, compare tout
entre les deux, regarde la taille des fichiers, va faire un tour dans
IIS etc... si t'as pas de difference, fais un mix des fichiers, et
regarde quand ca plante etc... mais si c'est exactement les mêmes
projet laisse tomber l'autre



Par contre s'il n'y a pas la meme chose dans les projets, une autre
chose completement opposé peut faire foiré, fais un coup de debug, et
regarde ce qu'il se passe l'etat des variables, si t'as des variables
sessions etc...

t'appelles quoi par êtrea appelé 5 fois ? t'as un peu plus de code à montrer ?


<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr
0
Traxhat Messages postés 18 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 10 octobre 2005
25 févr. 2005 à 11:20
Ben c le même code c# mais c pas le même type de projet.
Le 1° j'ai fait "projet c#/Application Web ASP.NET" et l'autre "projet c#/Application Windows". C'est pour ca que je peux pas remplacer celui qui marche pas par celui qui marche car au final il doit être en intranet.

En gros j'ai (là c le ASP) :


private
void Page_Load(
object sender, System.EventArgs e)


{obj =
new monObject();


obj .Gestion +=
new _ITerminalObjectEvents_Gestion EventHandler(obj _Gestion );}


private
void BT_Traitement_Click(
object sender, System.EventArgs e)


{traitement();}

public
void obj _Gestion (
int val1,
int val2){



switch(val1)


{
case X :


//traitement associé à val1

break;



etc ...


}
}

Quand je clic sur le bouton et que j'appèle la fonction traitement mon object fait sa bidoule de son coté et appèle l'évènement obj_Gestion avec la val1 qui indique ce qu'il vient de finir.
En théorie il doit faire 5 traitements donc je devrait passer 5 fois dans l'évènement obj_Gestion. C'est là que ca marche pas top.
Sur le projet entièrement en c# il y passe bien 5 fois et sur celui en ASP.Net il n'y passe que 2 fois
Pour l'instant j'ai que ca ds mon coté (pas de variables de sessions etc)
0

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

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 févr. 2005 à 11:53
Oula, attention au piege, asp.net n'est pas du tout pareil que faire des applications winforms.



J'ai pas compris ce que t'essaye de faire

mais la gestion d'evenements n'est pas du tout la meme en asp.net qu'en
application winforms, en web tu travails en mode deconnecté, à chaque
fois que tu fais une requete, le serveur te connait plus, tu refais une
requete tu repasse obligatoirement par le page_load.



A mon avis, ton problème vient de la, essaye d'abord de comprendre
comment se passe les evenements en asp.net mais surtout oublie ce que
tu sais des applications win c'est un enorme piège !!!



Ce qui est important de comprendre, c'est que a chaque requete la page
execute le page_load, meme sur un clique du bouton, puis ensuite passe
aux events des controles, et entre chaque requete tes variables sont
perdus etc...

<hr>

Cyril - http://Hoshimi.CodeS-SourceS.fr
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
26 févr. 2005 à 14:16
Ca serait cool d'avoir le code complet...c'est peut-être ce que tu fais dans un des traitement qui est en cause... et puis:
public
void obj _Gestion (
int val1,
int val2){
ce serai pas mieux

private void obj _Gestion (
int val1,
int val2){

??

yopyop
0
Traxhat Messages postés 18 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 10 octobre 2005
28 févr. 2005 à 08:22
Ben le code je l'ai mis au dessus y a rien de plus.
private ou public ca change rien ici ...

Bon j'ai rajouté une variable de session pour garder le même oblect en mémoire mais bon ca change pas grand chose au fait que je passe pas dans la fonction obj _Gestion .

J'ai aps trouvé un tutorial explicant bien la gestion des évènements. Vous en connaissez?
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
28 févr. 2005 à 18:54
0
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
28 févr. 2005 à 22:05
pas évident sans avoir le code du delegate que tu utilises...
mais les examples ci-dessus devraient t'aider..

yopyop
0
Traxhat Messages postés 18 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 10 octobre 2005
1 mars 2005 à 08:03
Ok merci je vais jeter un coup d'oeil ;)
0
Rejoignez-nous