2009-02-15 14 views
18

Estoy escribiendo una clase de autenticación de usuario. Durante la solicitud hay muchas referencias al usuario actual, por lo que me gustaría guardarlo en la memoria en lugar de llamar a la base de datos singleton. Estoy pensando en utilizar la sesión y borrarla al final de cada solicitud.asp.net mvc - necesito almacenar algunos datos para la solicitud actual

como:

public static User Current() { 
    if (Session["current-user"] == null) { 
      Session["current-user"] = GetUserFromDB(); // example function, not real 
    } 
    return (User)Session["current-user"]; 

continuación, en la solicitud de app_end:

 Session.Clear(); 

Respuesta

31
HttpContext.Items["user"] = user; 

Puede hacer referencia a los elementos de contexto durante toda la solicitud y se limpiará al final de la misma.

+0

En vista esto es ViewContext.HttpContext.Items – Spikolynn

6

utilizar la clase HttpContext. Puede acceder a él en el contexto de un controlador de HttpContext.Current.

La colección HttpContext.Items es lo que desea utilizar.

Cuestiones relacionadas