Jag vill mellanlagra en hel entityklass för att slippa anropa databas varje gång.
Är detta en korrekt metod? Trådsäkert?
aspx
UserBll bll = new UserBll();
User user = bll.GetUser(HttpContext.Current.User.Identity.Name);
Response.Write(user.Suppliers[0].Name);
bll
public User GetUser(string userName)
{
if (HttpContext.Current.Cache["User"] != null)
{
return (User)HttpContext.Current.Cache["User"];
}
else
{
UserDao dao = new UserDao();
User User = dao.GetUser(userName);
HttpContext.Current.Cache["User"] = User;
return User;
}
}
Om cache innehåller en Userklass så returneras den rakt av utan att jämföra användarnamn. Men det måste väl vara ok eller?
För inte kan väl en annan användare få tillgång till just denna cache? :stud