我们在单个Web服务器上运行一个ASP .NET应用程序(没有服务器场).目前,我们正在使用默认的"InProc"会话存储.是否值得考虑使用ASP .NET状态服务?如果我们走这条路线,我们可能只是在与应用程序相同的机器上运行服务,因此通过网络拨打电话来获取和设置会话信息不会成为问题.我们考虑这个问题的原因是为了避免在应用程序池回收时丢失会话数据.
此外,暂时使用SQL Server是不合适的,因此我们只讨论进程内与状态服务器.
在这种情况下,每种模式的优缺点是什么?
那么状态服务器比proc更慢一点.您将从中获得的好处是,如果您需要回收应用程序池,那么应用程序的状态(用户会话等)将不受影响.如果您计划将来使用状态服务器,我现在就开始使用它.在进程中,对象按原样存储在内存中,但是对于状态服务器,它们被序列化.如果您打算稍后进行切换,这将是一件大事,因为您必须检查您在状态中存储的所有内容是否可序列化.如果你从那种束缚开始,你就会事先知道(当你正在积极地研究那个模块时)什么是有效的,什么是无效的.