我正在开发一个 MVC 3 应用程序,该应用程序将托管在具有多工作进程设置的网络场中。大约有十几个变量存储在 Session 中,但由于 IIS 设置而丢失。
迷路是指当登录过程成功时,我通过日志记录看到我已经设置了会话变量,但是在重定向操作和登陆控制器操作之后,会话变量通常为空。我不确定这是否相关,但这是在 HTTPS 中。
我们正在研究将存储在 Session 中的用户特定设置转移到其他机制的可能性,但有一个变量我将无法做到这一点。鉴于上述部署环境,我有以下问题。
- cookie 是我唯一(最好的?)为用户特定设置存储会话变量的替代方法吗?
- 如果是这样,是否有一种安全的机制来编写 cookie,这样它们就不能被操纵并且仍然可以在多服务器环境中读取?
- 据我了解,
System.Runtime.Caching
在上述 IIS 配置中运行时,它会遇到同样的问题。真的吗?