4

如标题所示,我想知道 ASP.NET 上 SessionState 中的“InProc”和“stateServer”模式有什么区别。

谢谢

4

3 回答 3

9

在 InProc 模式下,活动的 Session 对象存储在 ASP.NET 工作进程 (aspnet_wp.exe) 的 RAM 中。它通常是最快的,但更多的会话数据意味着 Web 服务器上使用的内存越多,这会影响性能。

在 StateServer 模式下,每个会话都转换为 XML(序列化)并存储在内存中的单独进程 (aspnet_state.exe) 中。这个状态服务器可以运行在另一台机器上。

ASP.NET 会话状态常见问题解答

于 2010-05-25T11:42:42.127 回答
5

这篇 MSDN 文章详细介绍了 SessionState。

于 2010-05-25T11:42:24.383 回答
2
  • Off - 用于禁用网站上的会话。
  • InProc - 会话存储在 Web 服务器上的应用程序进程内。根据使用的 IIS 版本,可能是 aspnet_wp.exe 或 w3wp.exe。
  • StateServer - 使用 State Server windows 服务存储会话。
  • SQLServer - SQL Server 数据库用于存储会话的数据
  • 自定义- 使用自定义会话状态提供程序管理会话状态。存储可以是您在提供程序中实现的任何东西。

sessionState要在 web.config 中指定会话状态模式,请为mode 参数选择以下值之一:

在 web.config 文件中,<sessionState>元素位于<configuration>,<system.web>元素下。

于 2017-01-31T09:49:26.960 回答