你目前正处于脱机状态,正在等待 Internet 重新连接

如何: 配置到 Store ASP.NET Session State SQL Server

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 317604
概要
本分步指南介绍演示了如何配置 Microsoft SQL Server ASP.NET SQL Server 模式会话状态管理。

back to the top

要求

下面的列表概述了建议的硬件、 软件、 网络的基础结构和服务包,您需要:
  • Microsoft Windows 2000 专业版、 Microsoft Windows 2000 Server、 Microsoft Windows 2000 高级服务器,或 Windows XP
  • microsoft.net 框架
  • Microsoft Internet Information Services (IIS)
  • Microsoft SQL Server
back to the top

配置为 ASP.NET SQL Server Session State SQL Server

下列步骤描述如何运行该 InstallSqlState.sql 和 UninstallSqlState.sql 脚本文件配置 SQL Server 模式会话状态管理。
  1. 在 SQL 查询分析器中,在 文件 菜单上单击 打开
  2. 打开查询文件 对话框中浏览到 InstallSqlState.sql 脚本文件,然后单击 打开。默认状态下,InstallSqlState.sql 位于以下文件夹中的一个:
    system drive\WINNT\Microsoft.NET\Framework\ version \

    system drive\Windows\Microsoft.NET\Framework\ version\
  3. 在 SQL 查询分析器中打开 InstallSqlState.sql 后,单击在运行脚本 查询 菜单上的 执行
  4. 运行 UninstallSqlState.sql 脚本文件,以卸载 SQL Server 模式会话状态管理配置之前,必须停止 w3svc 过程。若要这样做,请按照下列步骤操作:
    1. 在 Windows 开始 菜单上单击 运行,键入 cmd,然后单击 确定 以打开命令提示符。
    2. 命令提示符键入 净停止 w3svc。您收到 w3svc 进程被停止的确认信息。
  5. 在 SQL 查询分析器中,在 文件 菜单上单击 打开
  6. 打开查询文件 对话框中浏览到 UninstallSqlState.sql 脚本文件,然后单击 打开。默认状态下,UninstallSqlState.sql 位于以下文件夹中的一个:
    system drive\WINNT\Microsoft.NET\Framework\ version \

    system drive\Windows\Microsoft.NET\Framework\ version\
  7. 在 SQL 查询分析器中打开 UninstallSqlState.sql 后,单击在运行脚本 查询 菜单上的 执行
  8. 卸载 SQL Server 模式会话状态管理配置后,您必须重新启动 w3svc 服务。若要重新 w3svc 过程在命令提示符下键入 net start w3svc
back to the top

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

若要实现 ASP.NET SQL Server 模式会话状态管理,则必须修改该 <sessionstate>,如下所示的应用程序的 Web.config 文件中的元素:
  1. 设置该 <sessionstate>的 mode 属性 元素 SQLServer 以指示该会话状态存储在 $ SQL Server 中。
  2. 将为 SQL Server 指定连接字符串 sqlConnectionString 属性设置。有关示例:
    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> 元素以及相关联的属性值。此代码是区分大小写。
back to the top

故障排除

  • 如果您不停止 w3svc 进程运行 UninstallSqlState.sql 脚本文件前的,您会收到以下错误消息:
    无法除去数据库 ASPState,因为它正在使用中
  • 如果 ASPStateTempSessions 表中的条目不会删除相关的会话过期后,,请确保 SQL Server 代理正在运行。您可以实现此功能通过 SQL Server 中的作业计划的存储过程。在 SQL Server 代理管理这些作业。
  • 当您使用默认 InstallSqlState.sql 和 UninstallSqlState.sql 脚本文件来配置 ASP.NET SQL Server 模式会话状态管理时,请注意这些文件将 ASPStateTempSessionsASPStateTempApplications 表添加到 SQL Server 在默认情况下将 tempdb 数据库。此外,如果重新启动 SQL Server,您会丢失会话状态数据存储在 ASPStateTempSessionsASPStateTempApplications 表中。有关如何运行可选的脚本,以配置持久性 SQL Server 会话状态管理,以便当您重新启动服务器时不丢失会话数据的其他信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
    311209如何: 配置 ASP.NET 用于永久 SQL Server 会话状态管理
back to the top
参考
有关更多的信息请单击下面文章编号,以查看 Microsoft 知识库中相应的文章:
305140信息: ASP.NET 路线图
307598信息: ASP.NET 状态管理概述
236166使用 NET STOP 和到强制 IIS 服务的 NET START 命令可以 Re-Read 注册表
ASP.NET 会话状态管理有关的详细信息,请参阅以下 Microsoft 网站来:
会话状态
http://msdn2.microsoft.com/en-us/library/87069683(vs.71).aspx

剪切边缘: 在 ASP.NET (MSDN 杂志 文章) 中使用会话和应用程序对象
http://msdn.microsoft.com/msdnmag/issues/01/11/cutting/default.aspx
back to the top

警告:本文已自动翻译

属性

文章 ID:317604 - 上次审阅时间:05/16/2007 07:35:51 - 修订版本: 6.6

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft SQL Server 2000 标准版, Microsoft SQL Server 7.0 标准版, Microsoft SQL Server 2000 64-bit Edition

  • kbmt kbconfig kbhowtomaster kbstate kbwebforms KB317604 KbMtzh
反馈