到目前为止,我一直在使用 Session 将一些变量从一个页面传递到另一个页面。例如用户角色。当用户登录到 Web 应用程序时,用户的角色 ID 保存在 Session 中,并且在应用程序的不同部分检查该角色。我最近开始思考为什么不使用静态成员。我可以将相同的信息存储在静态字段中,并在我的应用程序的任何位置轻松访问它(以及包含该静态字段所在的命名空间的任何位置。)我知道使用 Session 变量有时很方便,例如:
- 任何类型的数据都可以存储在 Session 中。然而,它必须被强制转换。但是静态字段只接受具有正确数据类型的数据。
- 会话变量将在一定时间后过期,这是我们在许多情况下需要的行为。
除了上述之外,还有什么其他原因我不应该使用静态字段来存储数据并使其随处可用?