(一)ASP.NET 支持三种不同的状态提供程序,以下简单罗列一下:
InProc 会话值在 ASP.NET 辅助进程(aspnet_wp.exe 或 w3wp.exe)的内存中保持为活动对象。默认。
StateServer 会话值被序列化并存储在单独进程 (aspnet_state.exe) 的内存中。该可以在其它计算机上运行。
SQLServer 会话值被序列化并存储在SQL Server 表中。SQL Server 的实例可以在本地运行,也可以远程运行。
(二)性能分析(获得越强大的功能就要付出一定效能):
因为需要将会话数据从外部储备库复制到本地会话词典中,所以请求导致性能下降了 15%(进程外)到 25% (SQL Server)。
如果您希望应用程序具有强大的功能,请使用 SQLServer 模式,而不要使用 StateServer 模式。
(三) 使用StateServer 模式
会话状态模块实例化应用程序的状态提供程序,从 web.config 文件中读取的信息对其进行初始化。
web.config 文件设置如下:
<configuration>
<system.web>
<sessionState
mode="StateServer"
stateConnectionString="tcpip=expoware:42424" />
</system.web>
</configuration>
默认的计算机地址为 127.0.0.1(本地主机),默认端口为 42424
(四)使用 SQLServer 模式
如何创建数据库?ASP.NET 提供两对脚本来配置数据库环境。第一对脚本名为 InstallSqlState.sql 和 UninstallSqlState.sql,与会话状态 NT 服务位于同一个文件夹中。它们创建名为 ASPState 的数据库和几个存储的过程。但是,数据存储在 SQL Server 临时存储区域 TempDB 数据库中。
在这里我们引入有关临时表的概念,有关临时表本栏文章中应该有一篇有详细叙述。
临时表主要分:本地临时表,全局临时表;
使用 SQLServer 模式的原理就有些类似于“使用临时表来防止用户重复登陆”(网上有差不多的文章)原理利用是临时表的特性,在这里的SQLServer 模式也是利用要SQL临时表相关特性。可以相互参详...
总之,使用 SQLServer 模式你会发现好多之前登陆等等相关疑难或者难以掌控的问题会应刃而解或提供新的解决方案。
附录:(摘:利用SQL Server的全局临时表防止用户重复登录)
… …
有什么东西是在connection断开后可以被系统自动回收的呢?对了,SQL Server的临时表具备这个特性!用全局临时表来达到我们的目的。
CREATE PROCEDURE [dbo].[SP_CreatTbl]
...
if object_id('tempdb.dbo.##'+@v_userid) is null
begin
set @v_sql = 'create table ##'+@v_userid+'(userid varchar(6))'
exec (@v_sql)
set @i_out = 0
end
else
set @i_out = 1
… …
这样通過检测i_out 就可以判断用户真实状态(不受断电之类突发情况的影响)
分享到:
相关推荐
在本项目中,".NET6WebAPI使用Sqlserver+JWT增删改查"是一个基于最新.NET框架.NET6构建的Web应用程序示例,主要用于演示如何利用ASP.NET Core Web API与SQL Server数据库进行数据操作,以及结合JWT(JSON Web Tokens...
《ASP.Net 2.0 + SQL Server 网络应用系统开发案例精解》这本书深入浅出地介绍了如何使用ASP.NET 2.0框架结合SQL Server数据库进行网络应用系统的开发。ASP.NET是微软公司推出的一种强大的Web应用程序开发平台,它...
在《ASP.NET 2.0+SQL Server网络应用系统开发案例精解》一书中,作者深入探讨了如何结合ASP.NET 2.0和SQL Server数据库来构建高效、稳定且功能丰富的网络应用系统。通过实例讲解,读者可以学习到如何设计和实现基于...
这本书深入浅出地介绍了如何使用ASP.NET技术和SQL Server数据库来构建高效的Web应用程序。ASP.NET是微软推出的一种强大的Web开发框架,它基于.NET Framework,提供了丰富的功能和工具,使得开发者能够更快速、更便捷...
标题中的".NET 3.5 + SQL Server 2005 小型论坛示例"指的是一款基于.NET Framework 3.5版本和SQL Server 2005数据库的微型论坛应用程序。这个示例旨在帮助开发者理解如何在实际项目中整合这两种技术,创建一个基本的...
标题提到的"asp.net 用sqlserver 实现session共享 (100%成功)",就是一种将ASP.NET的Session存储在SQL Server数据库中的解决方案,这通常被称为State Server或SQL Server Mode的Session管理方式。这种方法允许不同...
ASP.NET 2.0 和 SQL Server 是开发高效、安全且可扩展的网络应用程序的强大组合。在本案例精解中,我们将深入探讨如何利用这两个技术构建实际的网络应用系统。 首先,ASP.NET 2.0 是微软.NET框架的一部分,提供了一...
《ASP.NET 2.0+SQL Server网络应用系统开发案例精解》这本书是针对使用ASP.NET 2.0和SQL Server进行Web应用程序开发的专业指南。ASP.NET 2.0是微软.NET Framework的一部分,旨在简化Web应用程序的开发过程,提供丰富...
Session SQLServer 模式是一种在分布式环境中管理用户会话状态的技术,主要应用于.NET框架与SQL Server数据库结合的Web应用程序。这种模式解决了在多服务器或负载均衡环境下,保持用户会话状态一致性的问题。当用户...
《ASP.NET+SQL SERVER动态网站开发从基础到实践》是一本深入浅出的教程,旨在帮助读者掌握使用ASP.NET技术和SQL Server数据库进行动态网站开发的核心技能。书中通过06、07、08三个章节的源代码实例,系统地讲解了这...
《精通ASP.NET 2.0 + SQL Server 2005项目开发》是一部深度解析Web应用程序构建的教程,尤其关注ASP.NET 2.0框架与SQL Server 2005数据库系统的结合应用。该资源包含9个精心设计的案例,旨在帮助开发者逐步提升在...
《ASP.NET 2.0 + SQL Server网络应用系统开发案例精解》这本书是针对使用ASP.NET 2.0和SQL Server进行Web应用开发的专业指南。它深入浅出地讲解了如何构建高效、稳定的网络应用程序,涵盖了从设计到实现的全过程。这...
《精通ASP.NET 2.0 + SQL Server 2005项目开发》是一本深入探讨如何结合这两项技术进行高效Web应用开发的书籍。在这个项目中,开发者将学习到如何利用ASP.NET 2.0的强大功能,以及SQL Server 2005的数据管理能力,来...
【ASP.NET技术详解】 ...综上所述,ASP.NET和SQL Server的结合提供了强大而稳定的基础,适合构建复杂的酒店管理系统。开发文档的提供,使得开发者能够更好地理解和维护项目,提高项目的可维护性和扩展性。
ASP.NET和SQL Server是开发Web应用程序的常用技术组合,尤其在企业级应用中十分常见。ASP.NET是由微软提供的一个强大的Web应用程序框架,它基于.NET Framework,可以用来构建动态、交互式的网站和Web服务。而SQL ...
《ASP.NET 2.0+SQL Server 2005全程指南》是针对Web应用程序开发的一本详尽教程,结合了微软的两大核心技术——ASP.NET 2.0和SQL Server 2005,旨在帮助开发者构建高效、安全且可扩展的Web应用。下面将深入探讨这两...
这个项目展示了ASP.NET和SQL Server在开发Web应用程序时的高效协作,同时也体现了三层架构在大型项目中的优势,即代码的可维护性和可扩展性。通过学习和分析这个项目,开发者可以深入理解Web应用的开发流程,提升...
【描述】中的“具有一定的学习和参考价值”意味着这个项目不仅是一个实际的应用,同时也是一种学习资源,开发者可以从中学到如何将Asp.net的技术特性与sql server的数据存储能力相结合,创建一个高效、稳定的学校...