会话可以携带长文本吗?

时间:2011-09-23 08:34:05

标签: c# asp.net session

在ASP.NET C#Session["transfer_item_1"]中,这个函数可以携带一个很长的1Mn字符文本吗?或者它有任何限制吗?

3 个答案:

答案 0 :(得分:2)

您可以这样做但不建议不用于此目的。它会降低服务器性能。

选中此选项以获取完整选项。

http://msdn.microsoft.com/en-us/library/z1hkazw7.aspx

答案 1 :(得分:1)

如果您没有使用SQL服务器来保存会话,则服务器中会话的限制会根据您可用的可用内存而有所不同。

您可以在本地开发计算机上成功存储它,但在生产服务器上尝试时可能会出现内存不足错误。

使用sql server可能会解决您的需求,但性能很糟糕并且不是一个好主意。

如果它是许多用户将访问和共享的同一个对象,您可以尝试将其存储在缓存中。

答案 2 :(得分:0)

会话通常存储在内存中(虽然它可以配置为存储在sql server等中)所以是的它有限制,但是1mn个字符可能小于5mb的数据。

虽然如果每个请求都会创建这些数据并且每个用户都是唯一的,但根据您在应用程序上获得的点击次数,可能会耗尽内存。

如果所有请求通常使用此信息,则可以考虑使用Cache对象或Application对象。