示例#1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddOptions();

            // Configure RavenDB options and store holder
            services.Configure <RavenSettings>(Configuration.GetSection("Raven"));
            services.AddSingleton <IDocumentStoreHolder, DocumentStoreHolder>();

            // Configure talk data services
            services.AddSingleton <InMemoryTalkService, InMemoryTalkService>();
            services.AddTransient <RavenTalkService, RavenTalkService>();
            services.AddTransient <TalkServiceProvider, TalkServiceProvider>();

            // Static load
            // InMemoryTalkService.Load(CsvData.LoadTalks(), CsvData.LoadSpeakers());
            InMemoryTalkService.Load(CsvData.LoadSpeakers());


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
        }
        public TalkServiceProvider(
            InMemoryTalkService inMemoryTalks,
            RavenTalkService ravenTalks,
            ILogger <TalkServiceProvider> logger)
        {
            _inMemoryTalks = inMemoryTalks;
            _ravenTalks    = ravenTalks;
            _logger        = logger;

            System.Console.OutputEncoding = System.Text.Encoding.UTF8;
        }
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddOptions();
            services.AddMvc();
            services.AddLogging();

            // Configure RavenDB options and store holder
            services.Configure <RavenSettings>(Configuration.GetSection("Raven"));
            services.AddSingleton <IDocumentStoreHolder, DocumentStoreHolder>();

            // Configure talk data services
            services.AddSingleton <InMemoryTalkService, InMemoryTalkService>();
            services.AddTransient <RavenTalkService, RavenTalkService>();
            services.AddTransient <TalkServiceProvider, TalkServiceProvider>();

            // Static load
            InMemoryTalkService.Load(CsvData.LoadTalks(), CsvData.LoadSpeakers());
        }