Почему консольное приложение так долго запускается - PullRequest
0 голосов
/ 10 мая 2019

У меня есть консольное приложение, которое я использую с Autofac.Когда я впервые начал работать над кодом - все шло довольно быстро - сейчас по какой-то причине требуется всего лишь 6 минут, чтобы просто запустить приложение.В основном 6 минут или более, чтобы разрешить все зависимости и запустить программу.

Вот как я настраивал программу ....

    private static void Main(string[] args)
    {
        var container = ContainerConfig.Configure();
        using (var scope = container.BeginLifetimeScope())
        {
            var app = scope.Resolve<IApplication>();

            app.Run(args);
        }
    }

Вот класс ContainerConfig ....

public static class ContainerConfig
{
    public static IContainer Configure()
    {
        var builder = new ContainerBuilder();

        builder.RegisterType<Application>().As<IApplication>();

        builder.RegisterType<AcmeEngineRepositoryBase>().As<IAcmeEngineRepositoryBase>();
        builder.RegisterType<AuditLogicBase>().As<IAuditLogicBase>();
        builder.RegisterType<AuditRepositoryBase>().As<IAuditRepositoryBase>();
        builder.RegisterType<AuditLogic>().As<IAuditLogic>();
        builder.RegisterType<AuditRepository>().As<IAuditRepository>();


        builder.RegisterType<BirdieLogic>().As<IBirdieLogic>();
        builder.RegisterType<BirdieRepository>().As<IBirdieRepository>();

        builder.RegisterType<AttackLogic>().As<IAttackLogic>();
        builder.RegisterType<AttackRepository>().As<IAttackRepository>();

        builder.RegisterType<SettingsLogic>().As<ISettingsLogic>();
        builder.RegisterType<SettingsRepository>().As<ISettingsRepository>();

        builder.RegisterType<AcmeEngineLogic>().As<IAcmeEngineLogic>();
        builder.RegisterType<AcmeEngineRepository>().As<IAcmeEngineRepository>();
        builder.RegisterType<AcmeEngineApiRepository>().As<IAcmeEngineApiRepository>();

        builder.RegisterType<ExperianLogic>().As<IExperianLogic>();
        builder.RegisterType<ExperianRepository>().As<IExperianRepository>();



        builder.RegisterType<ValidationLogic>().As<IValidationLogic>();

        builder.Register(c => new MatchStat()).As<MatchStat>().SingleInstance();

        return builder.Build();
    }
}

Тогда у меня есть

public void Run(string[] args)
{
    Application Code Here
}

Когда я только начинал, проблем не было, теперь, когда я добавил несколько пунктов, кажется, что ситуация ухудшается.Я предполагаю, что у меня есть некоторые проблемы с моими контейнерами IOC, но я прочитал много документации, и, кажется, ничто не указывает на мою проблему, которую я смог найти.

Кто-нибудь может пролить свет на этот вопрос?

Спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...