以下是一个使用ASP.NET MVC缓存来存储登录用户信息的示例代码:
Global.asax.cs文件中注册缓存依赖项:protected void Application_Start()
{
// 注册缓存依赖项
AreaRegistration.RegisterAllAreas();
DependencyResolver.SetResolver(new DefaultDependencyResolver());
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
// 创建一个缓存依赖项
var cacheDependency = new LoginUserCacheDependency();
HttpRuntime.Cache.Insert("LoginUserCacheKey", cacheDependency);
}
LoginUserCacheDependency类来继承CacheDependency类,并在其中重写GetCacheDependency方法:public class LoginUserCacheDependency : CacheDependency
{
public LoginUserCacheDependency()
{
// 在构造函数中初始化缓存依赖项
// 这里可以根据实际需要设置依赖项
}
public override CacheDependency GetCacheDependency()
{
// 返回缓存依赖项
return null;
}
}
public class UserController : Controller
{
public ActionResult Login(string username, string password)
{
// 验证用户名和密码
// 如果验证成功,将用户信息存储到缓存中
var user = new User { Username = username, Password = password };
HttpRuntime.Cache["LoggedInUser"] = user;
return RedirectToAction("Index");
}
public ActionResult Index()
{
// 从缓存中获取登录用户信息
var user = HttpRuntime.Cache["LoggedInUser"] as User;
// 如果用户信息为空,则重定向到登录页面
if (user == null)
{
return RedirectToAction("Login");
}
return View(user);
}
}
请注意,上述示例仅为演示目的,并未包含实际验证和存储机制。您需要根据实际情况进行适当的更改和调整。