我曾经在服务器上使用Session来存储客户端请求的数据。但是在研究过程中,我发现stackoverflow上的各种答案都指出,在ASP.NET MVC中不应该使用Session。主要原因是:生产服务器的应用程序池在其生命周期内经常会被回收,这也会导致Session被回收。
因此,我考虑用可反序列化的字符串“...”来替换Session对象。我的整个关注点是:包含此字符串(可反序列化为对象)的单例对象在应用程序池重新启动时必须不会损坏/回收或重新初始化。
所以我的最终问题是:在应用程序池回收时会发生什么?只有Session会被回收吗?还是整个内存都会被回收和重新初始化?
我的目标Web服务器是Microsoft ASP.NET with MVC。