コード例 #1
0
 private void CurrentHost(Action <IConfigureHost> cfg)
 {
     cfg.MustNotBeNull();
     _host = new ConfigureHost();
     cfg(_host);
     RegisterTypesInContainer(_host.ContainerBuilder);
 }
コード例 #2
0
ファイル: ServiceBus.cs プロジェクト: DomainBus/DomainBus
 internal void Init(DispatcherClient client, ConfigureHost host, IReceiveServerMessages receiver)
 {
     _client    = client;
     _host      = host;
     _receiver  = receiver;
     _endpoints = host.Endpoints;
 }
コード例 #3
0
ファイル: ServiceBus.cs プロジェクト: DomainBus/DomainBus
 internal ServiceBus(IContainerScope container,DispatcherClient client, ConfigureHost host,IReceiveServerMessages receiver)
 {
     Container = container;
     _client = client;
     _host = host;
     _receiver = receiver;
     _endpoints = host.Endpoints;
 }
コード例 #4
0
 public MessageHandlersNexus(IContainerScope container,BusAuditor auditor,ConfigureHost host)
 {
     container.MustNotBeNull();
     _container = container;
     _auditor = auditor;
     _host = host;
     _error = host.GetStorage<IFailedMessagesQueue>();
 }
コード例 #5
0
        internal EndpointConfig[] Build(ConfigureHost host, IContainerScope container, BusAuditor auditor) 
            => _points.Select(ec =>
        {
            var ep = ec.Key;
            var nexus = new MessageHandlersNexus(container,auditor,host);
            nexus.Add(host.Handlers.Where(ep.CanHandle).ToArray());

            var processor = new ProcessingService(host.GetStorage<IStoreUnhandledMessages>(), () => new MessageProcessor(nexus), auditor,host.GetStorage<IFailedMessagesQueue>());
            ec.Value(processor);

            var config = new EndpointConfig(processor);
            config.Id = new EndpointId(ep.Name, host.HostName);
            config.HandledMessagesTypes = nexus.GetMessageTypes().ToArray();
            processor.Name = config.Id;
            return config;
        }).ToArray();