ASP.NET中需要SessionState的内容
本文关键字:SessionState NET ASP | 更新日期: 2023-09-27 18:28:06
为了加快页面加载速度,我将从尽可能多的页面中删除SessionState。我浏览了很多不需要任何会话跟踪的页面。
我知道在会话中存储一些东西,例如
Session.Add("name", value);
使用会话状态,但执行其他操作,还是仅此而已?
我使用的是普通的旧ASP.NET,而不是MVC。
请参阅以下链接以提高性能并了解会话状态
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模式,这有利于开发