partial void HandleImplementation(EventMessage message) { // Implement your handler logic here. System.Diagnostics.Trace.TraceInformation("Notifications received: {0}", message.GetType().Name); IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext <Chat>(); hubContext.Clients.All.send(message.Time.ToString()); }
public void Handle(EventMessage @event) { var hubBroadcasterFor = this.hubBroadcaster.FirstOrDefault(_ => _.ForType == @event.Body.GetType()); if (hubBroadcasterFor != null) { hubBroadcasterFor.Broadcast(@event.Body); } else { Debug.WriteLine("No broadcaster found for event {0}", @event.GetType()); } }
public Task Publish(EventMessage @event) { var eventName = @event.GetType().Name; if (!EventHandlers.ContainsKey(eventName)) { return(Task.CompletedTask); } foreach (var handler in EventHandlers[eventName]) { handler.MethodInfo.Invoke(handler.Instance, new[] { @event }); } return(Task.CompletedTask); }
public void Handle(EventMessage @event) { var context = new FeatureBeeContext(); var databaseBroadcasterFor = this.databaseBroadcaster.FirstOrDefault(_ => _.ForType == @event.Body.GetType()); if (databaseBroadcasterFor != null) { databaseBroadcasterFor.Broadcast(context, @event.Body); } else { Debug.WriteLine("No broadcaster found for event {0}", @event.GetType()); } context.SaveChanges(); }
public static void FireEvent(EventMessage eventMessage) { System.Type t = eventMessage.GetType(); if (pairs.ContainsKey(t)) { foreach (EventListener listener in pairs[t].priorityListeners) { listener.HandleEvent(eventMessage); } foreach (EventListener listener in pairs[t].normalListeners) { listener.HandleEvent(eventMessage); } } else { Debug.LogWarning("No listeners for " + t.ToString()); } }
protected void FireEventWithFilter(object filter, object sender, EventMessage msg) { this.nFire++; try { if (filter != null) { Dictionary <System.Type, List <ICallback> > dictionary = null; if (this.listeners.TryGetValue(filter, out dictionary)) { List <ICallback> list = null; if (dictionary.TryGetValue(msg.GetType(), out list)) { foreach (ICallback callback in list) { try { callback.Fire(msg); continue; } catch (Exception exception) { Debug.LogError(exception); continue; } } } } } } catch (Exception exception2) { Debug.LogError(exception2); } this.nFire--; }
public void Run() { Console.WriteLine("This will publish IEvent, EventMessage, and AnotherEventMessage alternately."); Console.WriteLine("Press 'Enter' to publish a message.To exit, Ctrl + C"); var nextEventToPublish = 0; while (Console.ReadLine() != null) { IMyEvent eventMessage; switch (nextEventToPublish) { case 0: eventMessage = Bus.CreateInstance <IMyEvent>(); nextEventToPublish = 1; break; case 1: eventMessage = new EventMessage(); nextEventToPublish = 2; break; default: eventMessage = new EventMessage(); nextEventToPublish = 0; break; } eventMessage.EventId = Guid.NewGuid(); eventMessage.Time = DateTime.Now.Second > 30 ? (DateTime?)DateTime.Now : null; eventMessage.Duration = TimeSpan.FromSeconds(99999D); Bus.Publish(eventMessage); Console.WriteLine("Published event message type: {1} with Id {0}.", eventMessage.EventId, eventMessage.GetType().ToString()); Console.WriteLine("=========================================================================="); } }