Session如何保存在sql数据库中

Fawn ·
更新时间:2024-11-10
· 632 次阅读

  本文将为大家说明Session如何保存在sql数据库中的相关介绍,具体实例请看下文   asp.net中,session默认以inproc模式存储,也是保存在iis进程中,这样有个优点是效率高,但不利于为本负载均衡扩展。可以把session信息保存在SQL Server中,据说,该种方式比起inproc性能损失为10%-20%。如何实现呢,主要分两步介绍:   1、初始化SQL Server中的状态数据库   ASP.NET SQL Server 提供注册工具Aspnet_regsql.exe,用于创建供 ASP.NET 中的 SQL Server 提供程序使用的 Microsoft SQL Server 数据库。Aspnet_regsql.exe位于 /%windir%/Microsoft.NET/Framework/<versionNumber>/aspnet_regsql.exe 目录下。如果麻烦,可以 直接用visual studio tools 的命令提示工具中直接输入aspnet_regsql.exe使用。用法如下:   Aspnet_regsql.exe <options>   可以用如下的语法来添加默认session数据库ASPState   aspnet_regsql.exe -S localhost -U sa -P why1234? -ssadd -sstype p   -S,-U/-P   必须是大写,分别表示数据库服务器,用户名和密码。   -ssadd / –ssremove 参数:   -ssadd表示是添加Session数据库, -ssremove表示移除Session数据库.   sstype 参数:   选项   说明   t   将会话数据存储到 SQL Server tempdb 数据库中。这是默认设置。如果将会话数据存储到 tempdb 数据库中,则在重新启动 SQL Server 时将丢失会话数据。   p   将会话数据存储到 ASPState 数据库中,而不是存储到 tempdb 数据库中。   c   将会话数据存储到自定义数据库中。如果指定c选项,则还必须使用-d选项包括自定义数据库的名称。   创建自定义数据库myAppState,可以用如下的语法:   aspnet_regsql.exe -S localhost -U sa -P why1234? -ssadd -sstype c -d myAppState   2、配置webconfig   在webconfig的 <system.web>节下添加如下配置:   <sessionState mode="SQLServer" sqlConnectionString="server=localhost; uid=sa; pwd=123456;"/>   如果在初始化数据库的时候,创建了自定义数据库可以用类似于如下的的配置:   <sessionState mode="SQLServer" allowCustomSqlDatabase="true" sqlConnectionString="server=localhost; DataBase=myAspState;uid=sa; pwd=123456;"/>   通过以上两步的设置,已经可以了。详细情况请参阅msdn。



SQL sql数据库 session

需要 登录 后方可回复, 如果你还没有账号请 注册新账号