IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Service et sessions


Sujet :

C#

  1. #21
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Avec le mot clé new devant un delegate le compilo comprends que tu veux ajouter un "pointeur de fonction" de la méthode entre paranthèse, à la collection représenté par le délégué.
    Non pas. En fait, c'est new delegate qui va faire, comme cela l'indique, un nouveau delegué (pointeur) de fonction. delegate n'est pas une collection. L'ajout à la collection se fait par le +=.

    Si ce que tu di était vrai, alors String serait une collection de chaine, et faire new String signifierai : je veux ajouter une chaine a la collection String ...
    Ok mais pourtant les méthodes sont bien abonnées au delegate et non à l'event non ?
    Moi ce qu'on m'avait expliquer en cours c'est que le delegate est une sorte de collection.
    Vais rechercher sur le net parce que ce que tu dis ne correspond pas exactement à ce que j'avais compris.

  2. #22
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Bon j'ai été voir ici.
    Un delegués est un objet et il sert de pointeur de fonction.
    Ce que je comprends c'est que l'on crée une instance du délégué à chaque ajout d'une méthode.
    Et donc ce serait l'event qui posséderait une liste des instances de dlégués existantent ?

    Me souvenait pas de cela
    Le prof a du mal expliquer

  3. #23
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 29
    Points : 12
    Points
    12
    Par défaut
    Tu es sur que l'event est déclenché. Car la synthaxe est bonne. Quoi qu'il se passe tu devrais passer dans ma méthode abonné au délégué lorsque l'event se produit.
    Tu as mis des espions dans ta méthode, genre Console.WriteLine("coucou"); ?
    Ben je lui demande de creer un fichier a la racine de C: si jamais il catch l'event.

    pour tester je dois changer d'utilisateur.

    En parlant de debug, j'avoue que je galere un peu le debug de service.
    je veux bien faire du console.Writeline mais dans le cas d'un service, c'est quoi ma sortie standard il va etre marque ou mon "coucou"? lol la question... desole...
    J'ai aussi essaye le MessageBox.show("chiche") mais VS ne trouve pas le namespace System.Windows.Forms...

    Snif, Il est ou mon shell lol jsuis perdu sous windows.

    Merci

  4. #24
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 29
    Points : 12
    Points
    12
    Par défaut
    [QUOTE=ced600;2629383]
    Et donc ce serait l'event qui posséderait une liste des instances de dlégués existantent ?[QUOTE]


    Ouais c'est ca, et quand il cache l'event, il parcourt son tableau d'objet fonctions. C'est pas pour autant des fonctor. J'imagine que le delegate est une sorte de design patern Wrapper ou Porxy qui offre une interface generalise, facile a utiliser pour les events.

  5. #25
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 29
    Points : 12
    Points
    12
    Par défaut
    Desole admin, merdouille

  6. #26
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Pas de form dans un service.
    Je galère comme toi avec le débug des services, alors je me suis fait une classe qui gère un fichier log.
    Du coup je ne fait pas Console.WriteLine mais Log.WriteLine
    J'ai vu trainé quelque part un moyen "d'activer" le débugger pour les services windows, mais je ne m'y suis pas attardé, car au début mon service ne faisait que relancé un process aui a crashé
    Tu peux aussi gérer deux solutions dans ton projet. Un service, et une winform. Par contre je ne sais pas comment on fait pour leur dire de partager les meme fichier de codes (je sais meme pas si c possible).
    Moi je faisais du copier coller de mes fichiers, mes ces dangereux et galère.
    Surtout pour un deuxieme service que j'ai crée de 3600 lignes de codes répartis en 20 classes. Rien qu'avec si peu c'est déjà perilleux de faire cela

  7. #27
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 29
    Points : 12
    Points
    12
    Par défaut
    Log.writeLine()
    Ouais je fais un peut parreil

    Toujours pas d'idee pour mon souci de non reception d'event ?
    Dans les exemple que j'ai vu, ils mettaient les delegates en static..

    J'ai essaye mais cela n'a rien donne non plus...
    Merci encore.

  8. #28
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    Et donc ce serait l'event qui posséderait une liste des instances de dlégués existantent ?
    Tout à fait, selon le design pattern Observer / Observé

    L'event a une collection de delegate, et les appelle un par un.

    On fait "new delegate" à chaque fois pour créer une nouvelle instance de delegate qui encapsule la méthode. Mais ce n'est pas obligatoire. Ceci fonctionne egalement (pour un predicate. en delegate je ne sais plus mais c'est aussi faisable avec autre syntaxe pour eviter le new):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    List<int> e ;
    e.ForEach(method());
     
    private Action<int> method()
    {
    return delegate(int i)
    {
    //code
    };
    }

  9. #29
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Faut arrêter les print pour debugger ...

    Vous compilez en mode debug, vous mettez des points d'arrêt et vous attacher le debugueur au processus.

    Vous allez voir tout le temps de gagné

  10. #30
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    +1
    Je crois que c'est la solution que j'avais entre aperçu

    Mais moi j'aime bien mon fichier log, c'est ce genre des détails qui font que les utilisateurs croient que l'appli est faite par des pros

    C'est comme pour les démos qui font plein de chose en taches de fond. Montrer le début et la fin uniquement c'est courir à sa perte. Votre chef va vous dire : "koi je te paye si chers et tu n'as fait que ça en 3 mois !!!!"
    Alors que le faux cul du groupe qui n'a rien glande pendant trois mois mais qui sur sa démo affiche l'ouverture et la fermeture des pleins de fenêtres avec des choses qui se modifient à le droit à toutes les éloges du boss

  11. #31
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    moi je suis pour les fichier de log (dans certain logiciel type serveur) mais pour le debugage c'est quand même beaucoup moins puissant que ... le debugueur lol (qui porte bien son nom )

Discussions similaires

  1. Web Services et session
    Par lenoil dans le forum Services Web
    Réponses: 2
    Dernier message: 11/01/2012, 18h13
  2. web service + statefull session bean
    Par pass38 dans le forum Services Web
    Réponses: 4
    Dernier message: 29/07/2008, 17h35
  3. Service ou programme actif apres fermeture de session
    Par SlideMT dans le forum Windows
    Réponses: 2
    Dernier message: 12/04/2006, 10h47
  4. Réponses: 3
    Dernier message: 03/04/2006, 12h04
  5. Réponses: 4
    Dernier message: 24/06/2004, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo