Работаю c ASP.NET Core MVC, уже 7 часов пытаюсь сохранить 1 значение размера страницы в кэш\куки\сессию.
в Startup добавил в метод ConfigureServices services.AddMemoryCache(); services.AddSession();
метод Configure такой:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IMemoryCache cache)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/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.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseSession();
cache.CreateEntry("_PageSize");
cache.Set("_PageSize", 10);
app.UseEndpoints(endpoints =>
{
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
});
}
пытался в самом контроллере что-то сделать:
private IMemoryCache _cache;
public int cacheEntry;
public const string SessionKeyName = "_PageSize";
public int ps;
private readonly AppDbContext _context;
//private readonly IHttpContextAccessor _httpContextAccessor;
public ProductCategoriesController(AppDbContext context, IMemoryCache memoryCache)
{
_context = context;
_cache = memoryCache;
_cache.CreateEntry("_PageSize");
var cacheB = _cache.TryGetValue("_PageSize", out cacheEntry);
if (!cacheB)
{
_cache.Set("_PageSize", 10);
ps = 10;
}
else ps = cacheEntry;
}
толку-ноль, смотрю через инструменты разработчика - нигде ничего не появляется, даже ошибки.
Что пошло не так?