Я испытываю проблему с 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
Tempdata ведет себя непоследовательно - иногда хранит последнюю ценность, иногда старую ценность ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
SetTimeout + SetInterval ведут себя непоследовательно в In Innative Tab on Chrome
Anonymous » » в форуме Javascript - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Получение списка из TempData[] приводит к тому, что он становится нулевым.
Anonymous » » в форуме C# - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Получение списка из TempData[] приводит к тому, что он становится нулевым.
Anonymous » » в форуме C# - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-