Альтернатива TempData на перенаправлениях - PullRequest
0 голосов
/ 22 января 2019

В старом унаследованном проекте у нас много такого кода:

var result = someService.AddRecord(data);
TempData["Success"] = result.Success;
TempData["Message"] = result.Message;
return RedirectToAction("Rakamakafo");

Но затем мы столкнулись с ситуацией, когда запросы обрабатывали последовательные данные в контроллере, что вызвано блокировкой природы объекта Session и решило эту проблему, переведя Session в режим только для чтения:

[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]

Это все хорошо, за исключением того, что TempData объект (который зависит от сеанса) перестал работать.

Как можно решить эту проблему без переписывания всего приложения в AJAX?

1 Ответ

0 голосов
/ 22 января 2019

Сделано с использованием куки. Сначала я создал BaseController с помощью ShowMessageAfterRedirect(bool success, string message) и установил два файла cookie (message_success и message_caption), затем в сообщении, отображающем частичное представление, я беру данные из файлов cookie и удаляю их.

...