用asp.net mvc 2.0做了个项目,用到Cache来存储用户信息,最近遇到一个很奇怪的问题,User1提交的记录,却记录到User2的名下,也就是Cache混乱了.
HttpContext context = HttpContext.Current;
string account = context.User.Identity.Name;//account格式为domain\user
if (context.Cache.Get(account) == null)
{
context.Cache.Insert(account, user);
}
UserCache.User = context.Cache.Get(account) as User; //User是自定义用户类
User类有Id, FullName, EmailAddress等等字段信息,提交记录我是保存User.Id
不能使用context.Cache来保存用户的身份信息,它其实和httpruntime.cache调用的是同一个对象
也就是说所有用户用的是同一个cache
可以参考这篇文章: