По умолчанию TempData
использует поставщика на основе файлов cookie, что означает, что каждый добавляемый вами фрагмент данных отправляется в виде файла cookie. Похоже, вы добавили здесь так много, что заголовок теперь слишком большой. Самым простым решением является использование состояния сеанса в качестве TempData
провайдера. Затем у вас будет только один файл cookie сеанса, независимо от того, сколько данных вы указали в TempData
. В ConfigureServices
добавить:
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddSessionStateTempDataProvider();
services.AddSession();
А потом в Configure
:
app.UseSession();
app.UseMvc();
Вы также можете настроить сеанс на использование постоянного хранилища, такого как Redis или SQL Server, а не по умолчанию в оперативной памяти, но это не имеет прямого отношения к использованию TempData
.