我正在web.config中的asp.net mvc中创建一个Web应用程序,我有一个名为sessionState的部分,如下所示
<sessionState mode="InProc" timeout="25"></sessionState>
每当我将模式更改为InProc
时,我都可以使用会话,但是当我将模式更改为StateServer
时,我却无法使用会话,在Google上搜索后,我知道那里sessionstates
InProc
StateServer
SQLServer
自定义
关闭
我只想知道在哪种情况下可以使用上述sessionstate,
答案 0 :(得分:1)
InProc-作为网站/ Web应用程序的一部分运行,始终在其中运行,但仅在同一服务器和该网站的同一实例上运行。
StateServer-需要在计算机上运行此服务(只需按开始:-)),因此会话可以连接到该计算机上的该进程,并且可以在实例和服务器之间共享。
SQLServer-与stateserver相同,但是为此使用SQL数据库。
自定义-您自己编程的任何状态服务器。
关闭-没有会话跟踪。
虽然会话可以使很多事情更易于开发,但是当您进行多服务器部署时,这将成为一个麻烦。因此,请确保限制会话的使用,如果不再可用,则始终能够检索会话数据,这样您就可以使用该会话获得最佳性能,而如果会话不再存在,则您的应用仍然可以正常工作。