public UrlShortenerService( IUrlShortenerOperationalStore urlShortenerOperationalStore, IExpiredUrlShortenerOperationalStore expiredUrlShortenerOperationalStore) { _urlShortenerOperationalStore = urlShortenerOperationalStore; _expiredUrlShortenerOperationalStore = expiredUrlShortenerOperationalStore; _eventSource = new EventSource <ShortenerEventArgs>(); }
public UrlShortenerService( IUrlShortenerOperationalStore urlShortenerOperationalStore, IExpiredUrlShortenerOperationalStore expiredUrlShortenerOperationalStore, ILogger <UrlShortenerService> logger) { _urlShortenerOperationalStore = urlShortenerOperationalStore; _expiredUrlShortenerOperationalStore = expiredUrlShortenerOperationalStore; _eventSource = new EventSource <ShortenerEventArgs>(); _logger = logger; }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(StartupLogger logger, IApplicationBuilder app, IWebHostEnvironment env, IExpiredUrlShortenerOperationalStore expiredUrlShortenerOperationalStore) { try { logger.Log("Startup Configure..."); var section = Configuration.GetSection("InMemoryUrlShortenerExpiryOperationalStore"); var model = new InMemoryUrlShortenerConfigurationModel(); section.Bind(model); foreach (var record in model.Records) { var su = expiredUrlShortenerOperationalStore.UpsertShortUrlAsync(new ShortUrl { Id = record.ExpiredRedirectKey, Tenant = record.Tenant, LongUrl = record.ExpiredRedirectUrl, Expiration = DateTime.UtcNow.AddYears(10) }).GetAwaiter().GetResult(); } if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); } catch (Exception ex) { logger.Log($"Startup Configure {ex.Message}"); } }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure( IApplicationBuilder app, IWebHostEnvironment env, IExpiredUrlShortenerOperationalStore expiredUrlShortenerOperationalStore) { var section = Configuration.GetSection("InMemoryUrlShortenerExpiryOperationalStore"); var model = new InMemoryUrlShortenerConfigurationModel(); section.Bind(model); foreach (var record in model.Records) { var su = expiredUrlShortenerOperationalStore.UpsertShortUrlAsync(new ShortUrl { Id = record.ExpiredRedirectKey, LongUrl = record.ExpiredRedirectUrl, Expiration = DateTime.UtcNow.AddYears(10) }).GetAwaiter().GetResult(); } if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapRazorPages(); }); }