Пример #1
0
 public SearchQueryHandler(ILuceneReaderService luceneReaderService,
                           AzureLuceneConfiguration azureLuceneConfiguration, ILogger <SearchQueryHandler> logger)
 {
     _luceneReaderService     = luceneReaderService;
     AzureLuceneConfiguration = azureLuceneConfiguration;
     _logger = logger;
 }
Пример #2
0
 public RebuildIndicesHandler(AzureLuceneConfiguration azureLuceneConfiguration, ISQLService SQLservice
                              , ILuceneReaderService luceneReaderService, ILogger <RebuildIndicesHandler> logger)
 {
     AzureLuceneConfiguration = azureLuceneConfiguration;
     _logger              = logger;
     _SQLservice          = SQLservice;
     _luceneReaderService = luceneReaderService;
 }
Пример #3
0
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers().AddJsonOptions(options =>
            {
                options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
                options.JsonSerializerOptions.IgnoreNullValues     = true;
                var isJsonResponseModeSetToDebug            = Configuration["JsonResponseMode"].Equals("debug", StringComparison.InvariantCultureIgnoreCase);
                options.JsonSerializerOptions.WriteIndented = isJsonResponseModeSetToDebug; // production mode will be condensed
            });

            //Add MemoryCache
            services.AddMemoryCache(setup => {
                setup.ExpirationScanFrequency = TimeSpan.FromMinutes(1); //in debug you can make it 1 minute. In production, it should 5 minutes or more
            });

            //Add AzureLuceneConfiguration
            var luceneConfig = new AzureLuceneConfiguration();

            Configuration.Bind("LuceneConfiguration", luceneConfig);      //  binding configuration to typed config
            services.AddSingleton(luceneConfig);

            services.AddSingleton <ILuceneReaderService, AzureInMemoryCachedLuceneReader>();

            //Add SQL Service
            services.AddTransient <ISQLService, SQLDataService>();

            services.AddCors(options =>
            {
                options.AddPolicy(_allowSpecificOrigins,
                                  builder =>
                {
                    builder.WithOrigins("*");
                    builder.AllowAnyHeader();
                    builder.AllowAnyMethod();
                });
            });

            services.AddHttpContextAccessor();

            services.AddMediatR(typeof(Startup));

            services.AddValidatorsFromAssembly(typeof(Startup).Assembly);

            services.AddTransient(typeof(IPipelineBehavior <, >), typeof(ValidatorBehavior <,>));
        }