Vous recherchez simplement une révision de code de ce code. ASP.net Cache n'est pas une option. La liste statique sera beaucoup consultée sur un site Web qui affiche bien plus de 10 000 pages vues par jour et des tentatives de lectures simultanées sont probables. Lors du redémarrage de l'application lorsque la liste est reconstruite, je me demandais s'il y avait des problèmes que je pourrais négliger? Est-ce que le verrouillage sur la liste est une bonne pratique instanciée?C# Verrouillage de propriété statique
public class MyClass
{
private static List<Entry> _listCache = null;
protected static List<Entry> ListCache
{
get
{
if (_listCache == null)
{
_listCache = new List<Entry>();
lock (_listCache)
{
//Add items to the list _listCache from XML file
}
}
return _listCache;
}
}
//....Other methods that work with the list
}
+1. Être pédant: 10k vues - c'est un toutes les 8 secondes * en moyenne *. Selon la loi de Murphy, les deux premiers se produiront au même moment. –
Ou tout simplement l'initialiser dans l'événement Application_Start –
En d'autres termes, si la probabilité d'une collision est de 0, alors il est sacrément près de 1. –