Je crée un portail où de nombreux sites fonctionneront avec la même application MVC. J'ai une liste de sites stockés dans le HttpRuntime.Cache. Est-ce mal d'accéder au cache via une méthode statique? Est-ce que je devrais plutôt passer ce sur les données de vue?Dans ASP.Net MVC, utilise des méthodes statiques pour rechercher des objets mis en cache sur les mauvaises vues?
Par exemple, est-ce mal sur la vue:
Lorsque le code SiteHelper est:
public class SiteHelper {
private static object @lock = new object();
private const string siteKey = "FelixSites";
public static Site CurrentSite {
get {
var context = HttpContext.Current.Wrap();
var sites = context.Cache[siteKey] as Site[];
if (sites == null) {
lock (@lock) {
if (sites == null) {
sites = SiteService.GetSites();
context.Cache[siteKey] = sites;
}
}
}
return sites.Single(s => s.Domain == context.Request.UrlReferrer.AbsoluteUri);
}
}
}