private void SubscriberHandler(IServerEventStream stream, IEventStreamSubscriber subscriber, IEventStreamBranch branch, object cookie) { IEventStreamSubscriptionRequest request = subscriber.Subscription; // log the subscriber LogMessage($"New subscriber {request.Caller} {request.SubscriptionContext.Arguments.AsString()}"); // push an 'image' to that subscriber which is received *only* by it (last image pattern) // this will be received as an OOB data - see the demo subscriber code subscriber.Push(cb => cb.AddValue("SubscribersAsImage", _glue.AGMObjectSerializer.Serialize(stream.GetBranches() .SelectMany(b => b.GetSubscribers().Select(sb => sb.Subscription.Caller))))); // e.g. keep the subscriptions in a list var subscriptionItem = $"{request.Caller.ApplicationName} {request.SubscriptionContext.Arguments.AsString()}"; DispatchAction(() => { ListViewSubscriptions.Items.Add(subscriptionItem); ListViewSubscriptions.ScrollIntoView(subscriptionItem); }); }