配置 SQLServer 来存储 ASP.NET 会话状态

来源:互联网 发布:淘宝介入是怎么处理的 编辑:程序博客网 时间:2024/06/11 05:51
 

概要

本分步指南演示如何为 ASP.NETSQLServer 会话状态管理模式配置 MicrosoftSQLServer。

回到顶端

要求

以下列表概括了推荐硬件、 软件、 网络结构, 以及 ServicePack, 您需要:
MicrosoftWindows2000Professional、 MicrosoftWindows2000Server、 Microsoft Windows 2000 Windows2000AdvancedServer 服务器或 MicrosoftWindowsXP
Microsoft.NET 框架
MicrosoftInternet 信息服务 (IIS)
MicrosoftSQLServer

回到顶端

将 SQLServer 配置为 ASP.NETSQLServer 会话状态

以下步骤描述如何运行 InstallSqlState.sql 和 UninstallSqlState.sql 脚本文件来配置 SQLServer 会话状态管理模式。
1.在 SQL 查询分析器, 在 文件 菜单上, 单击 打开 。
2.打开查询文件 对话框中, 浏览到 InstallSqlState.sql 脚本文件, 依次 打开 。 默认情况下, InstallSqlState.sql 位于下列文件夹之一中:
系统驱动器 /WINNT/Microsoft.NET/Framework/ 版本 /

系统驱动器 /Windows/Microsoft.NET/Framework/ version/
3.InstallSqlState.sql 打开 SQL 查询分析器, 中后单击 查询 菜单来运行脚本上 执行 。
4.之前运行 UninstallSqlState.sql 脚本文件以卸载 SQLServer 模式会话状态管理配置, 您必须停止 w3svc 进程。 要这样做, 请按照下列步骤操作:
a. 在 Windows 开始 菜单上, 单击 运行 , 类型 cmd然后单击 确定 以打开命令提示符。
b. 在命令提示符处, 键入 net stop w3svc . 收到确认 w3svc 进程已停止。
5.在 SQL 查询分析器, 在 文件 菜单上, 单击 打开 。
6.打开查询文件 对话框中, 浏览到 UninstallSqlState.sql 脚本文件, 依次 打开 。 默认情况下, UninstallSqlState.sql 位于下列文件夹之一中:
系统驱动器 /WINNT/Microsoft.NET/Framework/ 版本 /

系统驱动器 /Windows/Microsoft.NET/Framework/ version/
7.UninstallSqlState.sql 打开 SQL 查询分析器, 中后单击 查询 菜单来运行脚本上 执行 。
8.卸载 SQLServer 模式会话状态管理配置后, 必须重新 w3svc 服务。 要重新启动 w3svc 进程, 键入 net start w3svc 在命令提示符处。

回到顶端

修改应用程序的 Web.config 文件

要实现 ASP.NETSQLServer 模式会话状态管理, 您必须修改 < sessionState > 元素的应用程序 Web.config 文件如下:
1.将 模式 属性的 < sessionState > 元素设置 SQLServer 以指示会话状态存储在 SQLServer。
2.设置 sqlConnectionString 属性来指定用于 SQLServer 连接字符串。 例如:
sqlConnectionString="data source=MySQLServer;user id=<username>;password=<strongpassword>"

注意 用户, < 用户名 >, 必须有权数据库上执行此操作。

修改 < sessionState > 元素应出现如下:
<sessionState             mode="SQLServer"            sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"            cookieless="false"             timeout="20"     />
注意 确保指定 < sessionState > 元素和相关属性值时使用正确的情况。 此代码是区分大小写。

回到顶端

疑难解答

如果您不停止 w3svc 过程之前运行 UninstallSqlState.sql 脚本文件, 收到以下错误信息:
无法除去 ' ' ASPState 数据库, 因为它正在被使用
如果 ASPStateTempSessions 表中的条目不删除, 相关会话过期后确保运行 SQLServer 代理。 您可以实现此功能通过存储过程是通过 SQLServer 中作业调度程序。 SQLServer 代理管理这些作业。
当您使用默认 InstallSqlState.sql 和 UninstallSqlState.sql 脚本文件来配置 ASP.NETSQLServer 模式会话状态管理, 注意, 这些文件添加到 SQLServer 中 tempdb 数据库默认 ASPStateTempSessions 和 ASPStateTempApplications 表。 此外, 如果您重新启动 SQLServer, 文章编号, 以查看 Microsoft 知识库中相应丢失 ASPStateTempSessions 和有关如何运行其他脚本 ASPStateTempApplications tables.For 附加信息来配置永久 SQLServer 会话状态管理以便重新服务器, 时不丢失会话数据是单击中存储会话状态数据:
311209 (http://support.microsoft.com/kb/311209/EN-US/) HOWTO: 配置 ASP.NET 用于永久性 SQLServer 会话状态管理
原创粉丝点击