ASP.NET中需要SessionState的内容

本文关键字:SessionState NET ASP | 更新日期: 2023-09-27 18:28:06

为了加快页面加载速度,我将从尽可能多的页面中删除SessionState。我浏览了很多不需要任何会话跟踪的页面。

我知道在会话中存储一些东西,例如

Session.Add("name", value);

使用会话状态,但执行其他操作,还是仅此而已?

我使用的是普通的旧ASP.NET,而不是MVC。

ASP.NET中需要SessionState的内容

请参阅以下链接以提高性能并了解会话状态

http://msdn.microsoft.com/en-us/magazine/cc163730.aspx

asp.net控件使用viestate或controlstate

如果不显式使用会话,则不会使用会话

删除会话不会加快页面加载时间。会话只是服务器上的一个哈希表。事实上,如果您将会话用作缓存机制,那么巧妙地使用会话可以提高加载时间。也许你说的是ViewState或ControlState?

解决方案:

ASP.NET中存在不同的会话状态http://msdn.microsoft.com/en-us/library/ms178586(v=VS.80).aspx

进程模式实际的是<sessionState mode="InProc" timeout="10" />,重建项目后会话将被清除

状态服务器模式我们可以使用它,但请记住打开服务-ASP.NET State Service

<sessionState mode="StateServer"
  stateConnectionString="tcpip=localhost:42424"
  sqlConnectionString="data source=.'SQLEXPRESS; User ID=sa;Password=12345678; Integrated Security=SSPI"
  cookieless="false"
  timeout="2"
/>

SQL Server模式我们可以在通过命令创建DB ASPSate后使用此模式,请查看此网站了解详细信息-http://www.brianstevenson.com/blog/aspstate-concurrently-running-for-net-1011-and-net-20

<sessionState mode="SQLServer"
  stateConnectionString="tcpip=localhost:63586"
  sqlConnectionString="data source=.'SQLEXPRESS; User ID=sa;Password=12345678; Integrated Security=SSPI"
  cookieless="false"
  timeout="2"
/>

状态服务器模式下的会话&重建项目后不会清除SQL Server模式,这有利于开发