我正在使用Web API 2进行一个项目,我正在尝试找到将用户配置保存在内存中的最佳方法。
每个用户都有一个特定的配置(时区、位置、语言、其公司信息等等(,所以我正在尝试实现一种方法,在第一次登录时查询这些信息并将其保存到内存或其他东西。因此,许多操作经常使用此信息,我不想通过每次需要时查询所有这些信息来降低应用程序性能。
所以,第一个计划是用这些信息实现一个静态的clas,但我不知道这是否是最好的方法。
有人可以建议在 Web API 2 上实现它的最佳方法吗?
可以将所有其他信息存储在声明标识中。
您可以在会话中添加信息:
尝试:在 Global.asax 中,您必须添加下一个代码:
protected void Application_PostAuthorizeRequest()
{
System.Web.HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required);
}
现在,您可以在控制器或类中使用会话:
var session = System.Web.HttpContext.Current.Session;
session["token"] = "abc";
变量会话将保留在应用程序中并获取session
值
var abc = session["token"].ToString();
参考:如何保持从 ApiController 继承的类和从 ExceptionFilterAttribute 继承的另一个类中的变量处于活动状态