ASP.NET SessionState 中“InProc”和“stateServer”模式的区别

问题描述 投票:0回答:3

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

谢谢

asp.net session cookies system.web
3个回答
10
投票

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

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

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


5
投票

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


3
投票
  • Off - 用于禁用网站上的会话。
  • InProc - 会话存储在 Web 服务器上的应用程序进程内。根据使用的 IIS 版本,可能是 aspnet_wp.exe 或 w3wp.exe。
  • StateServer - 使用状态服务器窗口服务存储会话。
  • SQLServer - SQL Server 数据库用于存储会话数据
  • Custom - 使用自定义会话状态提供程序管理会话状态。存储可以是您在提供程序中实现的任何内容。

要在 web.config 中指定会话状态模式,请为

sessionState
模式参数选择以下值之一:

在 web.config 文件中,

<sessionState>
元素位于
<configuration>
<system.web>
元素下。

© www.soinside.com 2019 - 2024. All rights reserved.