Tempdata ведет себя непоследовательно - иногда хранит последнюю ценность, иногда старую ценностьC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Tempdata ведет себя непоследовательно - иногда хранит последнюю ценность, иногда старую ценность

Сообщение Anonymous »

Я испытываю проблему с Tempdata в моем приложении .NET. Он ведет себя непоследовательно при обработке функциональности поиска. Иногда, после обновления значения и запуска поиска, приложение все еще извлекает старое значение из Tempdata . Большую часть времени он работает, как и ожидалось, но когда я неоднократно проверяю поток, проблема становится более заметной - tempdata начинает удерживать устаревшие значения вместо обновленных.public async Task Search(MyVM.MainVM viewModel)
{
TempData["Search"] = JsonConvert.SerializeObject(viewModel.Search);
return RedirectToAction("Main", new { urlPass = _commonController.Encode("PlaceHolderDummy") });
}

Это код, где tempdata читается:
public async Task Main(string urlPass)
{
// Get current user sign in ID
decimal currentUserId = _UserDataSessions().userId;
string currentUserGroup = _UserDataSessions().userGroup;

// Get list of sales manager
List salesManagerList = await _service.GetSalesManager(currentUserId, currentUserGroup);
List businessUnitList = await _service.GetBusinessUnit();

MyVM.MainVM viewModel = new MyVM.MainVM();

// If user search
if (TempData["Search"] is string re && !String.IsNullOrEmpty(urlPass))
{
TempData.Keep("Search"); // Make sure the data is store after read
var searchInput = JsonConvert.DeserializeObject(re); // Convert re into object

List result = await _service.Search(currentUserId, currentUserGroup, searchInput);
viewModel.DataList = result;
viewModel.Search = searchInput;
}
else
{
GE.Search searchObj = new GE.Search
{
property1 = null,
property2 = null,
property3 = true
};

viewModel.DatasetList = await _salesDashboardService.SearchSalesDashboard(currentUserId, currentUserGroup, searchObj);
viewModel.Search = searchObj;
TempData.Remove("Search");
}

// Set data into view model
viewModel.SalesManagerList = salesManagerList;
viewModel.BusinessUnitList = businessUnitList;
viewModel.SalesCurrentDate = DateTime.Now; // Give current date
viewModel.CurrentUserId = currentUserId;

return View(viewModel);
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... imes-old-v
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SetTimeout + SetInterval ведут себя непоследовательно в In Innative Tab on Chrome
    Anonymous » » в форуме Javascript
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Попытка отобразить сообщение TempData с помощью Ajax POST
    Гость » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Гость
  • Попытка отобразить сообщение TempData с помощью Ajax POST
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Получение списка из TempData[] приводит к тому, что он становится нулевым.
    Anonymous » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Получение списка из TempData[] приводит к тому, что он становится нулевым.
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»