问题标签 [sql-session-state]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1265 浏览

asp.net - 会话没有保存在 ASPState 数据库中?

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

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

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

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

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

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

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

0 投票
3 回答
261 浏览

c# - 切换 Sql 会话状态数据库

我有一个连接到多个数据库的 Web 应用程序实例。根据域名(例如 www.shop1.com、www.shop2.com、..)我在实体框架中切换连接字符串。

到现在为止还挺好。

我也在使用 Sql Server 会话状态,我想切换会话状态数据库,就像我为我的数据切换数据库一样。

在此先感谢您的帮助。


如果您想知道我为什么这样做,请提供更多信息:

实际上我正在实施多租户。上面的描述显示了三个站点。事实上,我有 50 多个。在接下来的几个月里,网站的数量将会增长。目前,所有站点都是单独部署的,这意味着每当我必须推出补丁或更新时,我都会部署所有 50 个站点。以这种方式维护网站正在成为一场噩梦。所以我考虑在一个实例上放置 5 到 10 个站点,具体取决于它们的使用情况,这样我需要维护的实例就更少了。

0 投票
1 回答
10722 浏览

asp.net-mvc-3 - 重定向到新页面后会话变量为空

MVS 2012 SQL Server 2008 R2

我有一个使用会话包装器存储在会话中的对象。在登录期间,我初始化对象并适当地设置会话。在对用户进行身份验证后,我将用户重定向到用户索引页面。用户被重定向到索引页面,但会话变量不为空。我不确定为什么会这样。这是我正在做的示例代码。

这是我的网络配置设置。如果我注释掉这个 web config 部分并再次运行应用程序,它工作正常。

这是包装在会话中的对象

这是会话包装器

在这里,我正在检查角色并将用户重定向到相应的页面

上面的会话变量设置正确,我将用户重定向到用户索引页面

在用户控制器上,我正在检查该用户是否是管理员,但会话变量 SessionWrapper.currentRequest 为空

我在这里做错了什么?

0 投票
1 回答
325 浏览

c# - SqlSessionState:无法将 System.DBNull 类型的对象转换为 System.Byte [] 类型

有时我们会收到以下错误。我无法重现它。我尝试注销并导航到需要身份验证的页面,但它不会引发此异常。

到目前为止,此异常仅发生在页面加载后立即调用的 Web 服务上。(所以页面加载发生,然后一个 onready 事件开始使用 ajax 调用加载一些数据)

我们正在使用带有 SQL Server 会话存储的 Web 表单。

我能做些什么来解决这个问题?

0 投票
1 回答
1376 浏览

asp.net-mvc-4 - 如何使用从 mvc 应用程序发送的会话 ID 从 SQLServer 获取 servicestack 应用程序中的会话详细信息?

我有两个应用程序部署在不同的服务器上。

1) ASP.net MVC 4 Web 应用程序使用 sessionState 模式="SQLServer" 进行会话管理

2) 使用 sessionState mode="SQLServer" 进行会话管理的 Servicestack 服务应用程序(是的,我需要服务应用程序中的会话)

两个应用程序共享相同的数据库和表进行会话管理

我正在使用以下解决方案在服务堆栈应用程序中进行 asp.net 会话。

在 asp.net MVC4 应用程序中重新连接到 Servicestack 会话

我没有使用 servicestack 会话,因此我无法使用以下方式。

如何在 ServiceStack 服务实现中使用标准 ASP.NET 会话对象

用户登录到 mvc web 应用程序,对于用户数据 mvc 应用程序依次调用服务堆栈应用程序中的服务方法。

现在我需要在部署在另一台服务器上的 Servicestack 应用程序中的 mvc 应用程序中初始化相同的会话变量

session cookie 是在 mvc web 应用程序中设置的,而不是在 servicestack 应用程序上,但会话详细信息存储在两个应用程序都可以访问的 sql 数据库中。

我可以获取当前会话 ID 并将其作为参数发送到服务,但是如何使用会话 ID 从数据库中获取会话详细信息?

更新 :

我找到了一种将会话 ID 发送到应用服务器的方法

如何使用上面的 sql server 在 serviceStack 应用程序中获取会话?

0 投票
0 回答
250 浏览

asp.net - 自 ASP.NET Identity 发布以来,推荐的实现 SQL 会话状态的方法是什么?

这些是我知道的选项:

ASP.NET 通用提供程序: http ://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx https://www.nuget.org/packages/Microsoft.AspNet.Providers

我过去曾将它用于 SQL Azure,并且支持本地 SQL Server。但是在这种情况下,我不会使用已被 ASP.NET 身份取代的成员资格、角色等。不确定安装这个旧的 Nuget 包来获取会话是否有意义。

使用 Aspnet_regsql.exe: https ://msdn.microsoft.com/en-us/library/ms178586.aspx

运行 InstallSqlState.sql: https: //support.microsoft.com/en-us/kb/317604

(看起来有点过时了)

使用 SQL Server In-Memory 的 ASP.NET 会话状态: https ://blogs.msdn.microsoft.com/kenkilty/2014/07/03/asp-net-session-state-using-sql-server-in-memory/

看起来很有希望,但不确定它是否有很大的吸引力?我们使用的是 SQL 2012,必须了解如何升级到 SQL 2014。

0 投票
2 回答
1488 浏览

c# - 如何将会话状态从 InProc 移动到 SQLServer

我目前InProc在我的 .net Web 项目中使用会话状态模式。我想将其从会话状态InProc移至SQLServer会话状态,因为我将使用负载均衡器。我需要遵循哪些步骤?

在我的 C# 代码中,我使用如下会话。

那么我需要对源代码进行哪些更改?SQLServer使用会话状态时,我不能使用上面相同的代码吗?

0 投票
0 回答
145 浏览

c# - 无法序列化会话状态。使用 Itextsharp 5.5.1.0 时处于“StateServer”和“SQLServer”模式

使用带有 itextsharpt dll 版本 5.5.1.0 的会话状态 SQL 服务器时出现以下错误。我正在使用 asp.net 4.0 Web 应用程序。

无法序列化会话状态。在“StateServer”和“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许不可序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“自定义”模式下完成类似的序列化,则适用相同的限制。

我正在为会话状态使用以下配置

cookieless="AutoDetect" cookieName="MYCookie" mode="SQLServer" regenerateExpiredSessionId="false"

我们如何序列化第三方dll,如itextsharp。

0 投票
1 回答
154 浏览

asp.net - ASP.NET SessionState SQL Server 问题

我正在使用 Entity Framework 6 的序列化模型对象存储在会话中。会话状态根据以下设置存储在数据库中:

由于实体框架关系,一些序列化对象也确实具有组合的父对象。组合对象显示为

“函数评估需要所有线程运行”

在调试这些组合对象时带有十字符号(一旦单击十字,它会显示值)。这些组合对象(具有“函数评估需要所有线程运行”)在从下一页的会话中检索时变为空,而其他值按预期检索。 调试

根据以下设置,所有这些代码都适用于“InProc”会话状态。

任何人都可以帮忙吗?

0 投票
1 回答
172 浏览

sql-server - 是否可以将 SQL Server 会话上下文与 Azure 弹性查询一起使用

我想知道是否可以使用Elastic Queries在不同的 Azure Sql 数据库之间共享 SQL Server SESSION CONTEXT变量。我在官方文档中进行了搜索,但找不到有关此功能可用或不可用的任何信息。