예제 #1
0
        public void Build(IHttpHostControl host)
        {
            var builder = new HttpReceiveEndpointBuilder(host, this);

            ApplySpecifications(builder);

            var receiveEndpointContext = builder.CreateReceiveEndpointContext();

            var receiveSettings = new Settings(_pathMatch);

            var httpConsumerFilter = new HttpConsumerFilter(_hostConfiguration.Settings, receiveSettings, receiveEndpointContext);

            _httpHostPipeConfigurator.UseFilter(httpConsumerFilter);

            var transport = new HttpReceiveTransport(host, receiveEndpointContext, _httpHostPipeConfigurator.Build());

            transport.Add(httpConsumerFilter);

            var receiveEndpoint = new ReceiveEndpoint(transport, receiveEndpointContext);

            var queueName = string.IsNullOrWhiteSpace(_pathMatch) ? NewId.Next().ToString(FormatUtil.Formatter) : _pathMatch;

            host.AddReceiveEndpoint(queueName, receiveEndpoint);

            ReceiveEndpoint = receiveEndpoint;
        }
예제 #2
0
 public HttpSendTransportProvider(IHttpHostControl host, ReceiveEndpointContext receiveEndpointContext)
 {
     _host = host;
     _receiveEndpointContext = receiveEndpointContext;
 }
예제 #3
0
 public HttpTransportReceiveEndpointContext(IHttpHostControl host, IHttpReceiveEndpointConfiguration configuration)
     : base(configuration)
 {
     _transportProvider = new HttpTransportProvider(host, this);
 }
예제 #4
0
 public HttpTransportReceiveEndpointContext(IHttpHostControl host, IHttpReceiveEndpointConfiguration configuration)
     : base(configuration)
 {
     _host = host;
 }
 public HttpReceiveEndpointBuilder(IHttpHostControl host, IHttpReceiveEndpointConfiguration configuration)
     : base(configuration)
 {
     _configuration = configuration;
     _host          = host;
 }