public ProfilerWcfClientProcessing(WcfDependencyTrackingTelemetryModule module)
 {
     if (module == null)
     {
         throw new ArgumentNullException(nameof(module));
     }
     this.trackingModule = module;
 }
Ejemplo n.º 2
0
        public void WhenInitializeEndpoint3IsCalled_BehaviorIsAdded()
        {
            ServiceEndpoint endpoint = CreateEndpoint();

            endpoint.Address = new EndpointAddress("http://localhost/Service1.svc");
            using (ChannelFactory factory = new ChannelFactory <ISimpleService>(endpoint))
            {
                var module = new WcfDependencyTrackingTelemetryModule();
                module.Initialize(TelemetryConfiguration.Active);

                var wcfProcessing = new ProfilerWcfClientProcessing(module);
                wcfProcessing.OnEndInitializeEndpoint3(null, null, factory, null, null, null);

                var behavior = endpoint.Behaviors.Find <ClientTelemetryEndpointBehavior>();
                Assert.IsNotNull(behavior, "Behavior was not added to endpoint");
            }
        }
Ejemplo n.º 3
0
        public void WhenInitializeEndpoint1IsCalled_AndBehaviorExists_BehaviorIsNotAdded()
        {
            ServiceEndpoint endpoint = CreateEndpoint();

            endpoint.Address = new EndpointAddress("http://localhost/Service1.svc");
            endpoint.Behaviors.Add(new ClientTelemetryEndpointBehavior(TelemetryConfiguration.Active));

            using (ChannelFactory factory = new ChannelFactory <ISimpleService>(endpoint))
            {
                var module = new WcfDependencyTrackingTelemetryModule();
                module.Initialize(TelemetryConfiguration.Active);

                var wcfProcessing = new ProfilerWcfClientProcessing(module);
                wcfProcessing.OnEndInitializeEndpoint1(null, null, factory, null);

                var numBehaviors = endpoint.Behaviors.OfType <ClientTelemetryEndpointBehavior>().Count();
                Assert.AreEqual(1, numBehaviors, "Behavior was added to endpoint twice");
            }
        }