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

Windows Communication Foundation .NET Discussion :

Constructeur non appelé


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut Constructeur non appelé
    Bonjour,

    Lorsqu'on host un service comment se fait-il qu'on ne passe pas par son constructeur ?

    Ce n'est pas possible ?

    Dans le cas ci-dessous, je host le service Collecte et j'aurais aimé passer par le constructeur de Collecte à chaque fois qu'on le Host.

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class Program
        {
            static void Main(string[] args)
            {
                using (ServiceHost host = new ServiceHost(typeof(Collecte)))
                {
                    host.Open();
                    Console.WriteLine("Serveur Collecte Started");
                    Console.WriteLine("Registring to Serveur Enregistrement");
                    Console.ReadLine();
                    host.Close();
                }
            }
        }

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
        public class Collecte : ICollecteClient, ICollecteEnregistrement
        {
            private int _serveurId;
     
            public Collecte()
            {
                using (ChannelFactory<IEnregistrement> channelFactory = new ChannelFactory<IEnregistrement>("Enregistrement"))
                {
                    IEnregistrement proxyEnregistrement = channelFactory.CreateChannel();
                    string adress = proxyEnregistrement.Register();
     
                    adress = adress.Replace("net.tcp://localhost:","");
                    adress = adress.Replace("/Enregistrement","");
     
                    _serveurId = Convert.ToInt32(adress);
                }
            }
     
            public Collecte(int serveurId)
            {
                _serveurId = serveurId;
            }
     
            public int GetBestAnswer(int reponseId)
            {
                throw new NotImplementedException();
            }
        }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Krustig Voir le message
    Bonjour,

    Lorsqu'on host un service comment se fait-il qu'on ne passe pas par son constructeur ?
    Quand tu héberges (hostes) ton service n'appelle pas effectivement le constructeur de ton contract de service n'est jamais appelé.

    Pourquoi ne pas passer par les évènements de ton ServiceHost

  3. #3
    Invité
    Invité(e)
    Par défaut
    Au fait oublies ce que j'ai dis précédemment tu peux héberger ton service avec la manière suivante :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    class Program
        {
    // baseAddress doit être un tableau d'adresses de bases.
            static void Main(string[] args)
            {
                Collecte service = new Collecte();
                using (ServiceHost serviceHost = new ServiceHost(service, baseAddress))
                {
                    host.Open();
                    Console.WriteLine("Serveur Collecte Started");
                    Console.WriteLine("Registring to Serveur Enregistrement");
                    Console.ReadLine();
                    host.Close();
                }
            }
        }

    Avec cette méthode ton constructeur sera appelé vu que tu le fais explicitement.

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut
    Merci tu es un chef

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Constructeur non accessible
    Par mathieu dans le forum C++
    Réponses: 1
    Dernier message: 03/09/2006, 23h43
  2. onkeyup non appellé
    Par GregPeck dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/02/2006, 17h22
  3. Verifier formulaire - fonction non appelée
    Par nerick dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/12/2005, 17h44
  4. Réponses: 3
    Dernier message: 23/08/2005, 11h02
  5. Constructeur non accessible
    Par mathieu dans le forum C++
    Réponses: 12
    Dernier message: 06/08/2004, 01h56

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