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(); } }
Partager