Quiero almacenar una pequeña lista de un objeto simple (que contiene tres cadenas) en mi aplicación ASP.NET MVC. La lista se carga desde la base de datos y rara vez se actualiza editando algunos valores en el área de administración del sitio.Uso de HttpContext.Current.Application para almacenar datos simples
Estoy pensando en usar HttpContext.Current.Application para almacenarlo. De esta manera puedo cargarlo en el Global.asax:
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
HttpContext.Current.Application["myObject"] = loadDataFromSql(); // returns my object
}
Y a continuación, puede hacer referencia fácilmente desde cualquier controlador o vistas según sea necesario. Entonces, en caso de que el área de administración llame a la acción del controlador updateMyObject, puedo simplemente actualizar el DB y cargarlo nuevamente y reemplazar HttpContext.Current.Application["myObject"]
.
¿Hay alguna desventaja para hacer esto? Parece que va a funcionar bien para lo que estoy tratando de lograr, sin embargo, ¿alguien sabe de una mejor manera de hacerlo, suponiendo que hay una gran desventaja en el método que he presentado?
¿Qué sucede cuando se actualiza la lista? ¿Vas a restablecer la aplicación cada vez? –