private void InitPongService() { _pongService = new PongService(); _pongHost = new ServiceHost(_pongService); _pongHost.Open(); _pingClientFactory = new ClientFactory <IPing>("*"); _pingClient = _pingClientFactory.GetClient(); _pongs = Observable.FromEventPattern <Service.Events.PongEventArgs>(handler => _pongService.PongRequest += handler, handler => _pongService.PongRequest -= handler) .Select(_ => new PongEventArgs()) .ObserveOn(Scheduler.Default); _pongs.Subscribe(OnPong); }
private static void consumer_MessageReceived(object sender, Message message) { try { object obj = Serializer.Deserialize(message.Content); if (obj.GetType().Equals(typeof(PingMessage))) { PingMessage pingMessage = (PingMessage)obj; Console.WriteLine(string.Format("Ping recibido: {0}", pingMessage.PingId.Id)); PongMessage pongMessage = PongService.ProcessPing(pingMessage); Console.WriteLine(string.Format("Enviando Pong: {0}...", pongMessage.PingId.Id)); producer.SendMessage(new Message(Serializer.Serialize(pongMessage))); Console.WriteLine(string.Format("Pong enviado: {0}", pongMessage.PingId.Id)); PongService.ProcessPong(pongMessage); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private static Statistic GetStatistic(object sender, Message message) { return(PongService.GetStatistic()); }
Statistic IPongController.Get() { return(PongService.GetStatistic()); }