Siempre que tengo para almacenar cualquier cosa en la sesión, me han cogido el hábito de reducir al mínimo el número de veces que tengo que acceder a la sesión haciendo algo como esto:variables de sesión vs variables locales
private List<SearchResult> searchResults;
private List<JobSearchResult> SearchResults
{
get
{
return searchResults ?? (searchResults = Session["SearchResults"] as List<SearchResult>);
}
set
{
searchResults = value;
Session["SearchResults"] = value;
}
}
Mi El razonamiento es que si el objeto se usa varias veces durante una devolución de datos, el objeto debe recuperarse de la sesión con menos frecuencia. Sin embargo, no tengo ni idea de si esto realmente ayuda en términos de rendimiento, o de hecho es solo una pérdida de tiempo, o incluso una mala idea. ¿Alguien sabe cuán computacionalmente costoso sacar constantemente un objeto de la sesión se compararía con el enfoque anterior? O si hay algunas mejores prácticas que rodean esto?
1. La posibilidad de datos inconsistentes entre su copia local y la sesión podría ser una fuente de errores. – Martijn