Exemplo n.º 1
0
        public void WithApiConnectors(Action <ConnectorServiceRoutesBuilder> builderAction)
        {
            var builder = new ConnectorServiceRoutesBuilder();

            builderAction(builder);
            builder.ServiceCollection.AddSingleton((T)this);
            _connectors = builder.ServiceCollection.BuildServiceProvider();
        }
Exemplo n.º 2
0
        protected Task AddApiConnectorsAsync <ConnectorAttributeT>(Assembly assembly)
            where ConnectorAttributeT : Attribute
        {
            var connectorTypes = assembly.DefinedTypes
                                 .Where(x => x.CustomAttributes.Any(attr => attr.AttributeType == typeof(ConnectorAttributeT)));

            var builder = new ConnectorServiceRoutesBuilder();

            builder.ServiceCollection.AddSingleton((T)this);

            foreach (var connectorType in connectorTypes)
            {
                builder.ServiceCollection.AddScoped(connectorType);
                _derivedToChildConnectorReferences[connectorType.BaseType !] = connectorType;