gpt4 book ai didi

c# - ASP.NET session 大小限制

转载 作者:IT王子 更新时间:2023-10-29 04:43:33 31 4
gpt4 key购买 nike

是否存在某种不应超过的 session 大小限制或建议值?

在我的网络应用程序中,我创建了一些数据表来存储用户选择,这些选择存储在 session 中,直到用户批准选择,所以我将这些值添加到数据库中。

问题是我不知道 session 是否足够可靠以保留很少的对象?

谢谢!

更多信息

session 大小最大约为 10-20KB。

最佳答案

这里有一些关于 session 状态的注意事项:

  • InProc (mode="InProc") session 状态限制为工作进程可用的内存量。仅存储对象引用,不存储对象本身。

进程外状态管理在持久化之前序列化对象:

  • 使用 session 状态服务器 (mode="StateServer") 的进程外状态管理受状态服务可用内存量的限制。

  • 使用 SQL Server (mode="SQLServer") 的进程外状态管理仅受 SQL image 数据类型或数据库的最大允许大小。

显然,工作进程仍然必须有足够的可用内存才能将 session 对象拉回内存并在 http 请求期间重新水合。

正如我之前提到的,进程外状态管理会在持久化之前序列化对象。

这意味着对象必须是可序列化的,排除,例如,XmlDocument 或继承自 MarshalByRef 的任何对象>.

尝试序列化此类对象将导致以下异常:

Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.

关于c# - ASP.NET session 大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2843237/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com