ASP.NET Core 2.1 - после обновления данные из TempData больше не могут быть удалены - PullRequest
0 голосов
/ 01 октября 2018

Я использую 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 хранятся в куки

...