Мне поручено программировать веб-сайт, и я новичок в создании веб-сайтов.
Веб-сайт должен показывать обзор поездок и разрешать переход к деталям поездок и местам поездок. Наш слой базы данных вернет список с поездками и всеми их местами:
class Trip { List<Place> places; }
List<Trip> trip = datalayer.GetTrips();
Так что запрос уже будет содержать поездки и все места. Когда мы хотим показать одну поездку или место, нет необходимости идти в БД. Правильно ли хранить список поездок в кеше, а затем использовать кеш при отображении поездки или одного из ее мест?
Пример кода:
//GET /Trips
public ActionResult Index()
{
List<Trip> tripList;
_dbLayer.GetTrips(out tripList);
HttpContext.Current.Cache.["Trips-" + clientId] = tripList;
return View(tripList);
}
//GET: /Trips/Details/5
public ActionResult Detail(int id)
{
List<Trip> tripList = HttpContext.Current.Cache.["Trips-" + clientId];
if(tripList != null)
{
Trip trip = tripList.SingleOrDefault(i => i.TechNr == id)
return View(trip);
}
else
{
return View("NotFound");
}
}