Я использую Vereyons FlashMessage (https://github.com/Vereyon/FlashMessage) в моем приложении ASP.NET Core и после обновления с .NET Core 2.0 до 2.1 удаление сообщений из TempData больше не работает.
Я обнаружил, что флеш-сообщение должно быть удалено, когда я читаю (вызываю видимый метод RenderFlashMessages) флеш-сообщения, но этого не происходит, флеш-сообщения в TempData остаются.
Когда я проверял код Вереона, яобнаружил, что это должно работать так:
1) RenderFlashMessages вызывается в представлении.2) RenderFlashMessages вызывает метод FlashMessage.Retrieve. 3) Метод Retrieve должен удалять Flash-сообщения из TempData
Извлечь фрагмент метода из кода Вереона:
public static List<FlashMessageModel> Retrieve(ITempDataDictionary dictionary)
{
// Retrieve the data from the session store, guard for cases where it does not exist.
var data = dictionary[KeyName];
if (data == null)
return new List<FlashMessageModel>();
// Clear the data and return.
dictionary.Remove(KeyName);
return Deserialize((byte[])data);
}
Есть ли какое-нибудь решение?Я не хочу редактировать код Vereyons, потому что nuget, обновления и т. Д.
РЕДАКТИРОВАТЬ: в моем приложении TempData хранятся в куки