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数据库中的配置方法
sqlserver数据库查看 session 与查看sql的执行计划脚本
几个方式(本文不作介绍),要将Session保存到SQL Server中,需要有以下几个步骤: 1.首先要创建用于保存Session数据的数据库,以命令行的形式用aspnet_regsql.exe来完成,具体命令为 C:\WINDOWS\Microsoft.NET\...
weblogic session共享的sql语句_mysql 官方网站提供了DB2、oracle、sqlserver、 如果想要那些数据库,就去官网上看吧, 我这个是mysql的。 都别下错了!
另一方面,如果服务器起采用群集的方式的话就不能保持session的一致性,所以我们就绪要采用数据库的方式来保存session,这样,不管有几台服务器同时使用,只要把他们的session保存在一台数据库服务器上就可以保证...
J2EE中的sql,session分页实现方法。数据库用的是SQLserver自带的数据库
这将安装express-sql-session并将其添加到应用程序的package.json文件中。 如何使用 要使用express-sql-session ,只需将它与您的 express 会话中间件一起使用,如下所示: var express = require ( 'express' ) ;...
数据库的备份与管理……………….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数据库、以及对其进行添加修改删除
里边有详细代码,包含SQL脚本,有需要可以参考 //设置用户自定义Session存储 session_set_save_handler('mysession_open', 'mysession_close', 'mysession_read', 'mysession_write', 'mysession_destroy', '...
Win7安装SQL2000后在企业管理器中新建表出错问题解决: 新建表时,先单击数据库中已存在的一张表,然后在上面右键"新建表",如果在空白处 右键来新建表,是会出问题的。 本文来自: 高校自动化网(Www.zdh1909.com) ...
一个基于Hibernate 和 SQLServer 数据库的分页示例,所有文件和数据库备份都在,只是速度不怎么快,如果加上自动生成下拉框,速度就更慢了,单表、10008条测试数据,如果哪位大侠改进了查询速度望告之:vni2007@163....
B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。 C: 在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。 注:建议目录结构 \Src 代码目录 \...
一般情况下,我们喜欢使用Session储存我们的变量。Asp.Net提供了下面一些方法储存Session... 运行InstallSqlState.sql文件 首先需要在WinntMicrosoft.Net中找到InstallSqlState.sql文件,然后在SQL Server 中执行它
当应用程序对SQL Server发起一个Session请求的时候,这个Session请求在数据库中执行的过程中会申请其所需要的资源, 比如可能会申请内存资源,表上的锁资源,物理IO资源,网络资源等等, 如果当前Session运行过程中...
import java.sql.Date; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class UserServlet extends BaseServlet { // @Override // protected void service...
查询ORACLE 系统中当前会话正在执行的有关SQL语句。
ASP和SQL一直深受网站数据库设计人员的喜爱。 本书着重介绍ASP程序设计语言的各种功能及其实际应用, 同时也介绍SQL Server的程序设计技巧。本书将引导读者用ASP语法, 配合数据库系统的开发技巧,构建一个完整的...