gpt4 book ai didi

.net - 在操作之间共享数据

转载 作者:行者123 更新时间:2023-12-02 02:34:50 24 4
gpt4 key购买 nike

我的任务是编写一个网站,我是网站创建的新手。

该网站必须显示行程概览,并允许导航到单个行程详情和此行程地点。我们的数据库层将返回一个包含行程及其所有地点的列表:

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");
}
}

最佳答案

如果您使用 Linq to SQL datacontext 类,它会自动为您缓存数据。我建议将缓存保留在这一层,而不是在 Controller 中进行缓存。

关于.net - 在操作之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2274498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com