【问题标题】:understanding Session State Mode c#了解会话状态模式 c#
【发布时间】:2019-03-18 16:33:44
【问题描述】:
我正在我的 web.config 中的 asp.net mvc 中创建一个 Web 应用程序我有一个名为 sessionState 的部分,如下所示
<sessionState mode="InProc" timeout="25"></sessionState>
当我将模式更改为InProc 时,我可以使用会话,但是当我将模式更改为StateServer 时,我无法使用会话,在谷歌上搜索后,我知道有 5 种类型sessionstates
过程中
状态服务器
SQL服务器
自定义
关闭
我只想知道,上面的sessionstate在什么场景下可以使用,
【问题讨论】:
标签:
c#
asp.net-mvc
session-state
【解决方案1】:
InProc - 作为您的网站/Web 应用程序的一部分运行,始终存在,但仅在同一服务器和网站的同一实例上运行。
StateServer - 需要在一台机器上运行此服务(只需按开始 :-)),因此会话可以连接到该机器上的该进程并可以在实例和服务器之间共享。
SQLServer - 与 stateserver 相同,但为此使用 SQL 数据库。
自定义 - 您自己编程的任何状态服务器。
关闭 - 没有会话跟踪。
虽然会话可以使很多事情更容易开发,但当您进行多服务器部署时,这会变得很麻烦。因此,请确保限制会话的使用,如果会话数据不再可用,则始终能够检索会话数据,这样您就可以使用会话获得最佳性能,而如果您的会话不再存在,您的应用程序仍然可以继续工作。