Я пишу класс аутентификации пользователя. Во время запроса есть много ссылок на текущего пользователя, поэтому я бы хотел кешировать его в памяти, а не вызывать базу данных 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();