Beispiel #1
0
        public static void Main()
        {
            // Load the log4net configuration
            var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());

            XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));

            // Read the app settings
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json");

            var config            = builder.Build();
            var azureSearchConfig = config.GetSection("azureSearch").Get <AzureSearchConfig>();
            var videoIndexConfig  = config.GetSection("videoIndexer").Get <VideoIndexerConfig>();
            var readerConfig      = config.GetSection("reader").Get <ReaderConfig>();
            var writerConfig      = config.GetSection("writer").Get <WriterConfig>();
            var logger            = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

            // Build the services
            var serviceProvider = new ServiceCollection()
                                  .AddSingleton <AppHost, AppHost>()
                                  .AddSingleton(VideoIndexerFactory.CreateInstance(videoIndexConfig, readerConfig, logger))
                                  .AddSingleton(AzureSearchFactory.CreateInstance(azureSearchConfig, logger))
                                  .AddSingleton(InsightsReaderFactory.CreateInstance(readerConfig, writerConfig, logger))
                                  .AddSingleton(DocumentWriterFactory.CreateInstance(writerConfig, logger))
                                  .AddSingleton(logger)
                                  .BuildServiceProvider();

            serviceProvider.GetService <AppHost>().Run();
        }
Beispiel #2
0
 private static void BuildJsonDocument(DocumentWriterFactory factory) => factory.Build();