在SQL Server中存储会话(asp.net)

时间:2012-08-13 13:40:36

标签: asp.net sql-server

如果我们想在SQL Server中存储会话,哪个表存储会话?

要实现ASP.NET SQL Server模式会话状态管理,您必须修改应用程序的Web.config文件的 元素,如下所示:

1.将 元素的模式属性设置为SQLServer,以指示会话状态存储在SQL Server中。

2.设置 sqlConnectionString 属性以指定SQL Server的连接字符串。例如:

  sqlConnectionString="data source=MySQLServer;user id=<username>;password=<strongpassword>"

注意用户必须具有在数据库上执行此操作的权限。

修改后的元素应如下所示:

        <sessionState 
        mode="SQLServer"
        sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
        cookieless="false" 
        timeout="20" 
/>

问题是是否存在存储会话的特定表?

在SQL Server中存储会话是一个模糊的概念。

感谢。

3 个答案:

答案 0 :(得分:5)

你应该先运行ASP.Net SQL Server Registration Tool。该工具将创建适当的会话状态表。

答案 1 :(得分:3)

要使用SQLServer模式,必须首先确保SQL Server上安装了ASP.NET会话状态数据库。您可以使用Aspnet_regsql.exe工具安装ASP.NET会话状态数据库。 Aspnet_regsql.exe位于 %windir%\ Microsoft.NET \ Framework \ v4.0.30319(32位系统.net框架4)

按照以下链接查看如何添加会话表 How To configure SQL server to store session state

答案 2 :(得分:1)

其他答案是正确的,您应该使用Aspnet_regsql.exe工具为您创建会话数据库。但出于兴趣,一旦完成,您可以找到存储在临时会话表中的所有会话。

例如,我的会话数据库名为ASPState,感兴趣的表名为ASPStateTempSessions。 ASP.NET调用存储过程来管理此表中的会话。