示例#1
0
        public CustomActivator(IServiceProvider serviceProvider, TypeFinder typeFinder)
        {
            _serviceProvider = serviceProvider;
            _typeFinder      = typeFinder;

            _endpointSectionReader = new EndpointSectionReader(this);
        }
        public ConfigurationReader Read(IConfigurationSection configSection)
        {
            var assemblies      = new UsingSectionReader().GetAssemblies(configSection.GetSection("Using"));
            var typeFinder      = new TypeFinder(assemblies);
            var customActivator = new CustomActivator(_serviceProvider, typeFinder);

            var endpointSectionReader        = new EndpointSectionReader(customActivator);
            var errorPoliciesSectionReader   = new ErrorPoliciesSectionReader(customActivator);
            var inboundSettingsSectionReader = new InboundSettingsSectionReader();
            var inboundSectionReader         = new InboundSectionReader(typeFinder, endpointSectionReader, errorPoliciesSectionReader, inboundSettingsSectionReader);
            var outboundSectionReader        = new OutboundSectionReader(typeFinder, endpointSectionReader);

            Inbound = inboundSectionReader
                      .GetConfiguredInbound(configSection.GetSection("Inbound"))
                      .ToList();

            Outbound = outboundSectionReader
                       .GetConfiguredOutbound(configSection.GetSection("Outbound"))
                       .ToList();

            return(this);
        }
 public OutboundSectionReader(TypeFinder typeFinder, EndpointSectionReader endpointSectionReader)
     : base(typeFinder, endpointSectionReader)
 {
     _typeFinder = typeFinder;
 }
 public InboundSectionReader(TypeFinder typeFinder, EndpointSectionReader endpointSectionReader, ErrorPoliciesSectionReader errorPoliciesSectionReader, InboundSettingsSectionReader inboundSettingsSectionReader)
     : base(typeFinder, endpointSectionReader)
 {
     _errorPoliciesSectionReader   = errorPoliciesSectionReader;
     _inboundSettingsSectionReader = inboundSettingsSectionReader;
 }
 public ErrorPoliciesSectionReader(TypeFinder typeFinder, CustomActivator customActivator, EndpointSectionReader endpointSectionReader)
 {
     _typeFinder            = typeFinder;
     _customActivator       = customActivator;
     _endpointSectionReader = endpointSectionReader;
 }