Я пишу класс проверки подлинности пользователя. Во время запроса есть много ссылок на текущего пользователя, поэтому я хотел бы кэшировать его в памяти вместо вызова базы данных ala singleton. Я думаю об использовании сеанса и его очистке в конце каждого запроса.
как:
public static User Current() {
if (Session["current-user"] == null) {
Session["current-user"] = GetUserFromDB(); // example function, not real
}
return (User)Session["current-user"];
то в запросе app_end:
Session.Clear();