Asp.net 不知道如何在sql会话状态下存储会话id

Asp.net 不知道如何在sql会话状态下存储会话id,asp.net,sql-server,session-state,Asp.net,Sql Server,Session State,我是ASP.NET新手。我正在创建一个网站,我必须为每个登录到该网站的用户创建会话。现在我无法想象如何在数据库中存储会话 我读了几本书,了解了如何配置会话状态。但我仍然在我开始的地方。我无法获取保存会话id的位置。 我正在使用sql server会话状态。我已经创建了数据库aspnetdb和所有表r。但是我不知道如何使用它们。如何将会话id保存到数据库中。 我完全不知道如何解释我的问题。参见 基本上,您必须在web.config中配置它: <sessionState

我是ASP.NET新手。我正在创建一个网站,我必须为每个登录到该网站的用户创建会话。现在我无法想象如何在数据库中存储会话

我读了几本书,了解了如何配置会话状态。但我仍然在我开始的地方。我无法获取保存会话id的位置。 我正在使用sql server会话状态。我已经创建了数据库aspnetdb和所有表r。但是我不知道如何使用它们。如何将会话id保存到数据库中。 我完全不知道如何解释我的问题。

参见

基本上,您必须在web.config中配置它:

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

您不需要将会话ID存储在数据库中——假设您在SQLServer模式下使用会话,则该部分由运行时完成

会话提供程序将在每个请求开始时从DB读取会话数据,并在每个请求结束时写入。它通过设置一个包含会话ID的cookie来实现这一点,然后使用cookie的值作为DB查找的键来查找会话数据的其余部分

您始终可以从session.SessionID属性访问会话ID,但很少需要这样做

直到您第一次在会话对象中保存某些内容时,会话ID cookie才会发送到客户端(会话数据也不会保存在数据库中)。使用诸如Fiddler之类的web调试器,您可以很容易地看到这一点


FWIW,通常不应使用会话状态处理登录。例如,标准ASP.NET成员资格提供程序使用基于cookies的并行系统。

thx以获取帮助。但我也这样做了。但我仍然不知道它是如何工作的。如何在数据库中维护我的会话id。即使我也不知道这样做是否会维护用户会话。我甚至在web配置文件中编写了机器密钥,但不知道这一切是如何工作的。我无法想象。在这种情况下,请帮助我把自己看作一个新手