コード例 #1
0
        public void ListenAll()
        {
            #region Build ISubscriptionContainer
            var builder = SubscriptionContainerBuilder
                          .New()
                          .WithSubscription(subscription => subscription
                                            .WithExecution(execution => execution
                                                           .WithDelegate(OnEventNotification)
                                                           .WithInterval(TimeSpan.FromSeconds(1)))
                                            .WithOptions()
                                            .WithEvents(new SourceDefinition(DummyEventSource.EventSourceName, EventLevel.Verbose, EventKeywords.All)));

            var container = builder.Build();
            container.Start();
            #endregion

            //Use custom event source and write events
            CallDummyClientMethods();

            //Assert
            var writtenEvents  = DummyEventSource.Instance.WrittenEvents;
            var listenedEvents = base.ListenedEvents;

            Assert.True(WaitUntil(() => writtenEvents.Count == 10, TimeSpan.FromSeconds(10)));
            Assert.True(WaitUntil(() => listenedEvents.Count == 10, TimeSpan.FromSeconds(10)));

            Assert.True(CompareListsOfWrittenAndListenedEvents(writtenEvents, listenedEvents));
        }
コード例 #2
0
        public void SubscribeAllEventSources()
        {
            #region Build ISubscriptionContainer
            var builder = SubscriptionContainerBuilder
                          .New()
                          .WithSubscription(EventLevel.Informational, s => s
                                            .WithExecution(e => e
                                                           .WithDelegate(OnEventNotification)
                                                           .WithInterval(TimeSpan.FromSeconds(1)))
                                            .WithOptions());

            var container = builder.Build();
            container.Start();
            #endregion


            CallHttpClientMethods();
            CallAllocationMethods();
            GC.Collect();


            Assert.True(WaitUntil(() => ListenedEvents.Any(e => e.Registration.Source == "Microsoft-System-Net-Http"), TimeSpan.FromSeconds(3)));

            Assert.True(WaitUntil(() => ListenedEvents.Any(e => e.Name == "GCTriggered"), TimeSpan.FromSeconds(3)));
        }