예제 #1
0
        private EngineBuilder(IServiceContainer container, Action <OrchestratorOptions> configureOptions)
        {
            _container        = container;
            _configureOptions = configureOptions;

            _transport = new MultiRegistrar <ITransport>();
            _requestMetadataProvider    = new MultiRegistrar <IRequestMetadataProvider>();
            _requestProcessorMiddleware = new MultiRegistrar <IRequestProcessorMiddleware>();
            _requestProcessor           = new SingleRegistrar <IRequestProcessor>();

            RegisterFactory(_container, new TransportFactory(_transport));
            RegisterFactory(_container, new RequestMetadataProviderFactory(_requestMetadataProvider));
            RegisterFactory(_container, new RequestProcessorFactory(_requestProcessorMiddleware, _requestProcessor));
        }
 public RequestMetadataProviderFactory(MultiRegistrar <IRequestMetadataProvider> registrar)
 {
     _registrar = registrar;
 }
예제 #3
0
 public RequestProcessorFactory(MultiRegistrar <IRequestProcessorMiddleware> middleware,
                                SingleRegistrar <IRequestProcessor> endware)
 {
     _middleware = middleware;
     _endware    = endware;
 }
 public TransportFactory(MultiRegistrar <ITransport> registrar)
 {
     _registrar = registrar;
 }