0

我们有一个配置为 webgarden 的 webapp。因此,我们希望使用 sqlserver 模式来存储用户会话状态。我在web.config中的配置如下

<sessionState mode="SQLServer" cookieless="false" sqlConnectionString="data source=[DBSERVER]; Database=ASPState; user id=[USERNAME];password=[PASSWORD];" />

我已经运行了 Aspnet_regsql.exe 工具并将 -sstype 设置为“p”

我已经确认我也可以从网络服务器连接到 ASPState 数据库,提供的用户名有权执行数据库上的所有存储过程。

使用 Chrome 中的开发人员工具,我可以看到 ASP.NET 会话 cookie 并查看 ID,因此我知道会话正在创建。

我收到任何类型的数据库错误。

但是,当我查询“ASPStateTempSessions”表时,没有记录。“ASPStateTempApplications”中也没有任何记录。

这些会话应该何时保存到数据库中?为什么我看不到他们?

4

2 回答 2

0

尝试添加超时和应用程序名称,ASPState 是默认数据库,所以我们可以删除它

    <sessionState mode="SQLServer" timeout="20" sqlConnectionString="Data Source=SQLServer; Application Name=App; user id=UserName; password=Password"/>
于 2017-11-27T17:27:30.103 回答
0

尝试添加超时属性。

<sessionState mode="SQLServer" cookieless="false" sqlConnectionString="data source=[DBSERVER]; Database=ASPState; user id=[USERNAME];password=[PASSWORD];" timeout="20" />
于 2017-11-27T14:46:06.720 回答