我们将webapp配置为webgarden。因此我们希望用户使用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 DB,提供的用户名有权在数据库上执行所有存储过程。
使用Chrome中的开发者工具,我可以看到ASP.NET会话cookie并查看ID,因此我知道正在创建会话。
我收到任何类型的数据库错误。
但是,当我查询“ASPStateTempSessions”表时,没有记录。 “ASPStateTempApplications”中也没有任何记录。
这些会话何时应保存到数据库? 为什么我看不到它们?
答案 0 :(得分:0)
尝试添加超时属性。
<sessionState mode="SQLServer" cookieless="false" sqlConnectionString="data source=[DBSERVER]; Database=ASPState; user id=[USERNAME];password=[PASSWORD];" timeout="20" />
答案 1 :(得分:0)
尝试添加超时和应用程序名称,ASPState是默认数据库,因此我们可以将其删除
<sessionState mode="SQLServer" timeout="20" sqlConnectionString="Data Source=SQLServer; Application Name=App; user id=UserName; password=Password"/>