首页 > 解决方案 > 保存对象详细信息

问题描述

我在多个区域使用用户对象(属性电子邮件、显示名称、权限……)。是否可以在登录后加载用户详细信息并将其保存为完整的实时时间?或者我需要通过每次加载一个新页面从 Azure 数据库重新加载用户信息?

问候斯特凡

标签: asp.net-core.net-coreasp.net-core-mvc

解决方案


你的问题很难理解,但如果你问是否需要在每个请求中查询用户,答案是肯定的。HTTP 是一种无状态协议。提出的每个请求都好像之前或之后没有发生任何事情一样。换句话说,您在先前的请求中从数据库中查询某些内容这一事实与当前请求没有任何关系。

可以通过在会话存储中持久化对象的序列化表示来使用会话来伪造状态。但是,如果操作正确,会话存储本身就是一个数据库,所以它仍然会涉及查询。唯一的好处是查询会很简单。换句话说,如果您的原始查询非常复杂和/或完成起来非常耗时,那么持久保存到会话或某种其他形式的缓存是有一定价值的。但是,通过 id 查询一行与查询一样简单,所以这里不是这种情况。

长话短说,如果您再次需要该用户,只需再次查询即可。


推荐阅读