`
javasogo
  • 浏览: 1785807 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Session如何保存在sql数据库中

 
阅读更多

aspnet中,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。

分享到:
评论

相关推荐

    session 存储在 SQL Server中

    session在sql server数据库中的配置方法

    DB2数据库SQL注入手册1

    在本手册中,我们将介绍如何在DB2数据库中进行SQL注入攻击的检测和防止。同时,我们还将提供一些实用的SQL语句,用于检测和防止SQL注入攻击。 检测SQL注入 在DB2数据库中,可以使用以下方法来检测SQL注入: 1. ...

    sqlserver session 和执行计划

    sqlserver数据库查看 session 与查看sql的执行计划脚本

    ASP.NET将Session保存到数据库中的方法

    几个方式(本文不作介绍),要将Session保存到SQL Server中,需要有以下几个步骤: 1.首先要创建用于保存Session数据的数据库,以命令行的形式用aspnet_regsql.exe来完成,具体命令为 C:\WINDOWS\Microsoft.NET\...

    weblogic session共享的sql语句_mysql

    weblogic session共享的sql语句_mysql 官方网站提供了DB2、oracle、sqlserver、 如果想要那些数据库,就去官网上看吧, 我这个是mysql的。 都别下错了!

    php中使用session_set_save_handler()函数把session保存到MySQL数据库实例

    另一方面,如果服务器起采用群集的方式的话就不能保持session的一致性,所以我们就绪要采用数据库的方式来保存session,这样,不管有几台服务器同时使用,只要把他们的session保存在一台数据库服务器上就可以保证...

    session,sql分页

    J2EE中的sql,session分页实现方法。数据库用的是SQLserver自带的数据库

    express-sql-session:由 SQL 数据库支持的 Express Session Store。 支持以下 sql 数据库 Postgres、MySQL、MariaDB 和 SQLite3

    这将安装express-sql-session并将其添加到应用程序的package.json文件中。 如何使用 要使用express-sql-session ,只需将它与您的 express 会话中间件一起使用,如下所示: var express = require ( 'express' ) ;...

    ASP与SQL网页数据库程序设计

    数据库的备份与管理……………….173 7-1 生成数据库的SQL脚本 174 7-1-1 生成SQL脚本窗口 174 7-1-2 执行生成SQL脚本 179 7-1-3 执行SQL脚本文件 181 7-2 收缩数据库 182 7-3 数据库备份与...

    ASP.NET2.0(C#)TreeView绑定SQL数据库、以及对其进行添加修改删除

    ASP.NET2.0(C#)TreeView绑定SQL数据库、以及对其进行添加修改删除

    PHP自定义session存储(mysql数据库)

    里边有详细代码,包含SQL脚本,有需要可以参考 //设置用户自定义Session存储 session_set_save_handler('mysession_open', 'mysession_close', 'mysession_read', 'mysession_write', 'mysession_destroy', '...

    Win7系统怎样安装SQL2000数据库.doc

    Win7安装SQL2000后在企业管理器中新建表出错问题解决: 新建表时,先单击数据库中已存在的一张表,然后在上面右键"新建表",如果在空白处 右键来新建表,是会出问题的。 本文来自: 高校自动化网(Www.zdh1909.com) ...

    Hibernate 分页示例 SQLServer 数据库

    一个基于Hibernate 和 SQLServer 数据库的分页示例,所有文件和数据库备份都在,只是速度不怎么快,如果加上自动生成下拉框,速度就更慢了,单表、10008条测试数据,如果哪位大侠改进了查询速度望告之:vni2007@163....

    Excel导入SQL数据库

    B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。 C: 在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。 注:建议目录结构 \Src 代码目录 \...

    实用toad抓oracle中较慢的sql

    尤其是在Oracle数据库中,慢SQL的存在可能会导致系统性能下降、响应时间延长甚至引发系统崩溃。因此,抓取运行较慢的SQL语句是数据库管理员的重要任务之一。下面,我们将介绍如何使用Toad工具来抓取Oracle中较慢的...

    深入分析Oracle数据库的响应时间.pdf

    在网络数据库中,为了提高性能,通常使用高速缓冲区来按照用户的请求保存数据块。数据块高速缓冲区的大小是有限制的,因此需要使用最近最少使用算法(LRU)来管理高速缓冲区的内容。当高速缓冲区需要更大空间时,LRU...

    将Session值储存于SQL Server中

    一般情况下,我们喜欢使用Session储存我们的变量。Asp.Net提供了下面一些方法储存Session... 运行InstallSqlState.sql文件 首先需要在WinntMicrosoft.Net中找到InstallSqlState.sql文件,然后在SQL Server 中执行它

    SQLServer中使用扩展事件获取Session级别的等待信息及SQLServer 2016中Session级别等待信息的增强

    当应用程序对SQL Server发起一个Session请求的时候,这个Session请求在数据库中执行的过程中会申请其所需要的资源, 比如可能会申请内存资源,表上的锁资源,物理IO资源,网络资源等等, 如果当前Session运行过程中...

Global site tag (gtag.js) - Google Analytics