`
javasogo
  • 浏览: 1817589 次
  • 性别: 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。

分享到:
评论

相关推荐

    php中将session保存到数据库的函数类代码.zip

    然而,PHP默认将Session数据保存在文件系统中,这在高并发或需要持久化Session数据的情况下可能不理想。为了克服这些问题,开发者可以选择将Session数据保存到数据库中。本文将详细探讨如何实现这一功能,特别是通过...

    php中将session保存到数据库的函数类代码

    然而,系统默认情况下,PHP会将Session数据保存在文件系统中,这在多服务器环境或者高并发场景下可能会成为性能瓶颈。为了解决这个问题,我们可以将Session数据保存到数据库中,这样不仅可以实现分布式Session管理,...

    asp动态网站+sql数据库

    7. **Database连接**:在"asp动态网站+数据库"中,通常会使用ADO(ActiveX Data Objects)来连接和操作SQL数据库,实现数据的读取、写入和更新。 8. **SQL语言**:SQL(Structured Query Language)是用于管理关系...

    Session SQLServer 模式

    当用户在不同服务器之间跳转时,传统的InProc Session(存储在ASP.NET工作进程内存中)模式可能会导致会话数据丢失,而Session SQLServer模式则通过将Session数据存储在中央SQL Server数据库中,确保了会话的跨...

    asp.net 的Session数据库存储方式

    然而,默认情况下,Session数据是存储在内存中的,这可能会导致一些问题,比如当应用程序需要处理大量并发用户时,或者当应用程序部署在多台服务器上时,这种情况下,将Session数据存储在数据库中就显得尤为重要。...

    Session保存到数据库的php类分享

    这里使用了`session.gc_maxlifetime`配置项来设置Session数据在数据库中的最大生命周期。 类中的方法及其功能概述: - `__construct`:构造函数,接受一个PDO实例并将其存储为私有变量供其他方法使用,同时设置了...

    DB2数据库SQL注入手册1

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

    SqlServer查询当下数据库还原状态

    在SQL Server环境中,了解当前正在进行的数据库还原操作的状态对于DBA(数据库管理员)或开发人员来说至关重要。这不仅能帮助他们监控还原进度,还能确保数据库在还原过程中不会出现异常中断或其他问题。下面将详细...

    将PHP的session数据存储到数据库中的代码实例_.docx

    在 PHP 开发中,为了增强安全性、可扩展性和便于管理,有时会需要将 session 数据存储到数据库中,而不是默认的文件系统。以下是一个具体的实例,展示了如何使用 PostgreSQL 和 MySQL 数据库来实现这一功能。 1. **...

    asp(sql数据库)网上购物商城

    【ASP与SQL数据库在构建网上购物商城中的应用】 ASP(Active Server Pages)是微软开发的一种服务器端脚本语言,常用于构建动态网站和Web应用程序。它允许开发者在HTML页面中嵌入VBScript或JScript代码,实现服务器...

    SQL数据库读取实例

    ### SQL数据库读取实例 #### 一、简介 本文通过一个具体的示例,详细介绍了如何使用C#结合MapXtreme 2008来开发基于浏览器/服务器(B/S)架构的应用程序,并特别强调了从SQL Server数据库读取数据的关键步骤。此...

    asp与sql网页数据库程序设计

    在"asp与sql网页数据库程序设计"这个主题中,我们将深入探讨如何使用ASP技术与SQL数据库进行交互,构建功能丰富的网页应用程序。以下是一些关键知识点: 1. **ASP基础**:了解ASP的工作原理,如如何在服务器端执行...

    实例--SQL Server数据库缓存依赖

    在SQL Server数据库中,缓存依赖是一个重要的性能优化机制,它允许应用程序跟踪数据库中的更改,以便在数据更新时自动更新缓存中的信息。这个实例主要适用于SQL Server 2005和2008版本,这两个版本都支持并广泛使用...

    将PHP的session数据存储到数据库中的代码实例

    然而,在分布式服务器环境或者需要持久化存储session数据以便将来分析的场景下,开发者往往会选择将session数据存储在数据库中。 在这个文档中,作者提供了两种实现将PHP session数据存储到数据库的方法,分别适用...

    ASP.NET网页制作与SQL数据库的交互

    - **存储位置**:与`Cookie`不同的是,`Session`中的信息是保存在服务器端的,而`Cookie`中的信息则保存在客户端(浏览器)上。 - **安全性**:由于`Session`数据存储在服务器端,因此更加安全可靠。即使客户端禁用...

    SSH笔记-管理Session和批量操作数据库

    - 在Struts2中,Session是由ActionContext管理的,它保存了当前线程的上下文信息,包括Session数据。 - 使用`ActionContext.getSession()`方法可以获取到HttpSession对象,从而进行Session的读写操作。 - 需要...

    sqlserver session 和执行计划

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

    java操作mysql数据库,不写sql语句版

    在Java编程中,与MySQL数据库交互通常涉及到使用SQL语句来执行CRUD(创建、读取、更新、删除)操作。然而,为了提高代码的可维护性和安全性,开发者可以选择使用ORM(对象关系映射)框架,如Hibernate或MyBatis,...

Global site tag (gtag.js) - Google Analytics