I want to set CookieExpiration value from DB, however, I'm getting an error:
System.InvalidOperationException: 'Unable to resolve service for type 'EMS.Services.Interfaces.ISettingsService' while attempting to activate 'EMS.Startup'.'
This is the value from DB:
_settingsService.GetTheSettings().CookieExpirationPeriod
Startup:
public ISettingsService _settingsService;
public Startup(IConfiguration configuration, ISettingsService settingsService)
{
Configuration = configuration;
_settingsService = settingsService;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Connection to DB
services.AddDbContext<EMSDbContext>(x => x.UseSqlServer(Configuration.GetConnectionString("DBConnection")));
// Services for Sign in - Signout - Access Denied
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(options =>
{
options.LoginPath = "/Auth/SignIn";
options.LogoutPath = "/Auth/SignOut";
options.AccessDeniedPath = "/Auth/AccessDenied";
options.ExpireTimeSpan = TimeSpan.FromHours(_settingsService.GetTheSettings().CookieExpirationPeriod);
});