我有一个使用C#/ MVC 4.5的汽车网站,我需要找到一种更加动态的方式来从数据库中提取数据。更具体地说,动态刷新数据。
到目前为止,我已经找到了两种提取数据的方法,但由于各种原因它们都是不可接受的:
Car.cs根据int参数从数据库中提取数据。
// CarContorller.cs
public class CarController : Controller
{
public static Car Car1 = new Car(1);
}
// FrontPage.cshtml
@using CarSite.Models
@{
Car C = new Car(1);
}
<div class="car-name">
Car Name From Model (Database): @C.Name
Car Name From Controller (Memory): @CarSite.Controllers.CarController.Car1.Name <br>
</div>
所以这就是我的困境:
从模型中拉出会在每次加载网站时强制刷新数据。因此,如果我每天有3辆汽车和1000名访客,那么数据每天被拉3000次,即使它是一遍又一遍的相同数据。
从控制器中拉出只允许拉一次数据,但如果更改,则在重置网站之前不会反映数据。
是否可以在控制器数据发生变化时刷新?如果是这样,这是如何实现的?如果没有,我该怎么做才能阻止这么多的数据拉动?
答案 0 :(得分:1)
您正在寻找的是使用Sql依赖性缓存。
有很多这方面的例子,我记得在我学习它时读到这个:
http://www.srikanthtechnologies.com/blog/dotnet/sqlcachedependency.aspx
我也发现了这篇SO帖子,你可能会发现它很有用: