public OutboundMessageInterceptor Create(IOutboundMessageInterceptor messageInterceptor)
        {
            var scope = new OutboundMessageInterceptorConfiguratorScope();
            _sink.Inspect(scope);

            return ConfigureInterceptor(scope.InsertAfter, messageInterceptor);
        }
		static OutboundMessageInterceptor ConfigureInterceptor(
			Func<IPipelineSink<ISendContext>, IPipelineSink<ISendContext>> insertAfter,
			IOutboundMessageInterceptor messageInterceptor)
		{
			if (insertAfter == null)
				throw new PipelineException("Unable to insert filter into pipeline for message type " + typeof (object).FullName);

			var interceptor = new OutboundMessageInterceptor(insertAfter, messageInterceptor);

			return interceptor;
		}
        static OutboundMessageInterceptor ConfigureInterceptor(
            Func <IPipelineSink <ISendContext>, IPipelineSink <ISendContext> > insertAfter,
            IOutboundMessageInterceptor messageInterceptor)
        {
            if (insertAfter == null)
            {
                throw new PipelineException("Unable to insert filter into pipeline for message type " +
                                            typeof(object).FullName);
            }

            var interceptor = new OutboundMessageInterceptor(insertAfter, messageInterceptor);

            return(interceptor);
        }
示例#4
0
        public static void AddOutboundInterceptor(this ServiceBusConfigurator configurator, IOutboundMessageInterceptor interceptor)
        {
            var builderConfigurator = new PostCreateBusBuilderConfigurator(bus =>
            {
                var interceptorConfigurator = new OutboundMessageInterceptorConfigurator(bus.OutboundPipeline);

                interceptorConfigurator.Create(interceptor);
            });

            configurator.AddBusConfigurator(builderConfigurator);
        }