2010-01-13 5 views
1

Comment pouvons-nous faire de la mise en cache pilotée par base de données dans ASP.Net.ASP.NET Caching

+2

Que signifie «mise en cache pilotée par base de données»? Vous souhaitez mettre en cache les éléments normalement extraits de la base de données? –

+0

Copie possible: http://stackoverflow.com/q/7312551/2291 –

+0

Copie possible: http://stackoverflow.com/q/1286456/2291 –

Répondre

2

Oh, c'est vraiment facile. Vous devez utiliser l'objet de cache dans ASP.NET. Il est différent de l'objet Session car les informations stockées dans l'objet Cache sont globales et non par session. Vous pouvez activer le cache par page ou par contrôle Web. Je préfère par contrôle Web puisque vous avez un contrôle plus fin sur quelles données sont mises en cache.

Si vous avez besoin d'une mise en cache basée sur la base de données, enregistrez simplement vos objets métier dans l'objet Cache et incluez la logique dans votre page au cas où celle-ci arriverait à expiration.

exemple

protected void Page_Load(object sender, Eventargs e){ 
    BusinessObject bo = Cache["SomeBO"] as BusinessObject; 
    if (bo == null){ 
    //reload bo from database since data expired... 
    } 

} 

vérifier ce lien: http://msdn.microsoft.com/en-us/kb/kb00323290.aspx

0

Vous pouvez utiliser les SqlDependency ou SqlCacheDependency objets.