public void AddPipeSpecification <T>(IPipeSpecification <PublishContext <T> > specification)
            where T : class
        {
            IMessagePublishPipeSpecification <T> messageSpecification = GetMessageSpecification <T>();

            messageSpecification.AddPipeSpecification(specification);
        }
示例#2
0
            public MessagePipe(IMessagePublishPipeSpecification <TMessage> specification)

            {
                _output = new Lazy <IMessagePublishPipe <TMessage> >(CreateFilter);

                _specification = specification;
            }
        public void MessageSpecificationCreated <T>(IMessagePublishPipeSpecification <T> specification)
            where T : class
        {
            IMessagePublishPipeSpecification <T> messageSpecification = _specification.GetMessageSpecification <T>();

            specification.AddParentMessageSpecification(messageSpecification);
        }
            public void ImplementsMessageType <T>(bool direct)
                where T : class
            {
                IMessagePublishPipeSpecification <T> implementedTypeSpecification = _specification.GetMessageSpecification <T>();

                _messageSpecification.AddImplementedMessageSpecification(implementedTypeSpecification);
            }
示例#5
0
        void IPublishPipeSpecificationObserver.MessageSpecificationCreated <T>(IMessagePublishPipeSpecification <T> specification)
        {
            var applicationInsightsSendSpecification =
                new ApplicationInsightsPublishSpecification <T>(_telemetryClient, _telemetryHeaderRootKey, _telemetryHeaderParentKey, _configureOperation);

            specification.AddPipeSpecification(applicationInsightsSendSpecification);
        }
        void IPublishPipeSpecificationObserver.MessageSpecificationCreated <T>(IMessagePublishPipeSpecification <T> specification)
        {
            var applicationInsightsPublishSpecification =
                new DiagnosticsActivityPipeSpecification <T>(_diagnosticSource, _activityIdKey, _activityCorrelationContextKey);

            specification.AddPipeSpecification(applicationInsightsPublishSpecification);
        }
        void IPublishPipeSpecificationObserver.MessageSpecificationCreated <T>(IMessagePublishPipeSpecification <T> specification)
        {
            IMessagePublishTopology <T> messagePublishTopology = _topology.GetMessageTopology <T>();

            var topologySpecification = new MessagePublishTopologyPipeSpecification <T>(messagePublishTopology);

            specification.AddParentMessageSpecification(topologySpecification);
        }
示例#8
0
            public MessagePipe(PublishObservable observers, IMessagePublishPipeSpecification <TMessage> specification)

            {
                _output = new Lazy <IMessagePublishPipe <TMessage> >(CreateFilter);

                _observers     = observers;
                _specification = specification;
            }
        public void MessageSpecificationCreated <T>(IMessagePublishPipeSpecification <T> specification)
            where T : class
        {
            All(observer =>
            {
                observer.MessageSpecificationCreated(specification);

                return(true);
            });
        }
示例#10
0
        public void MessageSpecificationCreated <T>(IMessagePublishPipeSpecification <T> specification)
            where T : class
        {
            var scopeProviderType =
                typeof(DependencyInjectionFilterContextScopeProvider <,>).MakeGenericType(_filterType.MakeGenericType(typeof(T)), typeof(PublishContext <T>));
            var scopeProvider = (IFilterContextScopeProvider <PublishContext <T> >)Activator.CreateInstance(scopeProviderType, _serviceProvider);
            var filter        = new ScopedFilter <PublishContext <T> >(scopeProvider);

            specification.UseFilter(filter);
        }
 public void MessageSpecificationCreated <T>(IMessagePublishPipeSpecification <T> specification)
     where T : class
 {
     specification.AddPipeSpecification(new ScopePublishPipeSpecification <T>(_publishScopeProvider));
 }
示例#12
0
 public void MessageSpecificationCreated <T>(IMessagePublishPipeSpecification <T> specification)
     where T : class
 {
     specification.AddScopedFilter <PublishContext <T>, T>(_filterType, _provider);
 }
示例#13
0
 public void MessageSpecificationCreated <TMessage>(IMessagePublishPipeSpecification <TMessage> specification)
     where TMessage : class
 {
     specification.AddPipeSpecification(new MyPublishMessagePipeSpec <TMessage>());
 }