сохранение временных данных

#scheduled-tasks #tempdata

#запланированные задачи #временные данные

Вопрос:

Иногда нам нужно сохранить временные данные в транзакции. и если это не будет принудительно выполнено, оно будет удалено . например, загрузка изображений.

Какова наилучшая стратегия для этого? сохранение данных в фактической базе данных и выполнение планирования задач, которое удалит неполные данные (строку) или сохранит их во временном пространстве или что?

Большое спасибо.

Комментарии:

1. наилучший подход здесь может зависеть от платформы / архитектуры — возможно, вы захотите быть более конкретным

2. @Marc: у тебя терпение святого! Думаю, это лишь одна из причин, по которой вы являетесь администратором! 😉

3. Пожалуйста, любые предложения.

4. @HTB: через 4 часа после того, как вы задали вопрос, все, что вы можете добавить, это то, что вы используете .NET? Очень плохо…

Ответ №1:

Пример для временных данных, я надеюсь, что я делаю это правильно. берем пример из busroute:-

   if (id != busRoute.BusRouteCode)
        {
            return NotFound();
        }

        if (ModelState.IsValid)
        {
            try
            {
                _context.Update(busRoute);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BusRouteExists(busRoute.BusRouteCode))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }
            return RedirectToAction(nameof(Index));
        }
        return View(busRoute);
    }

    public async Task<IActionResult> Create([Bind("BusRouteCode,RouteName")] BusRoute busRoute)
    {
        if (ModelState.IsValid)
        {
            _context.Add(busRoute);
            await _context.SaveChangesAsync();
            return RedirectToAction(nameof(Index));
        }
        return View(busRoute);
    }
  

Для индекса:-
TempData[«сообщение»] = «Добро пожаловать в список участников …»;

         if (MemberId == null)
        {
            TempData["message"] = "Please select a Member...";
            RedirectToAction("SHMember", "Index");
        }

        string memberId = MemberId.ToString();
        var FullName = _context.Membership
            .Include("FullName")
            .Where(m => m.MemberId == MemberId)
            .Select(m => m.Member.FullName)
            .FirstOrDefault(); 

        if (memberId != null)
        {
            HttpContext.Session.SetString("MemberId", memberId);
            HttpContext.Session.SetString("FullName", FullName);
        }
        else
        {
            memberId = HttpContext.Session.GetString("MemberId");
            FullName = HttpContext.Session.GetString("FullName");

            if (memberId == null)
            {
                //return to View and Display Message
                TempData["message"] = "Please select a Member...";
                return RedirectToAction("Index", "Member");
            }
        }

        ViewBag.FullName = HttpContext.Session.GetString("FullName");

        var MembershipContext = _context.Membership
            .Where(m => m.MemberId == MemberId)
            .OrderByDescending(m=>m.Year);



        return View(await MembershipContext.ToListAsync());
  

Комментарии:

1. Ответы, содержащие только код, действительно не приветствуются. Чтобы помочь будущим читателям, пожалуйста, объясните, что вы тоже делаете!