问题标签 [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 投票
3 回答
2969 浏览

c# - ASP.NET 服务器端视图状态

我已经阅读了一些在服务器上存储视图状态的方法:

这是一个

这是另一个

但它们有点复杂。我正在寻找一种无需序列化即可持久化对象的方法。我可以使用会话状态,但如果用户打开多个窗口,则可能会覆盖对象。

有一个简单的解决方案吗?

0 投票
3 回答
3555 浏览

asp.net - 关闭使用 window.open 打开的窗口后丢失会话状态

目前我们正在使用 window.open 打开一个新的 aspx 页面。window.open 位于当前 aspx 页面中的 javascript 函数 (openNewWindow()) 中,单击 asp.net 超链接控件时会调用该函数。

链接是由我们的框架在页面上动态创建的,因此我想避免更改该功能。

问题似乎是当这个新的“子”窗口关闭时,会话状态会丢失。我应该提到,在“子”窗口关闭后,会话在子窗口中可用,但在“父”窗口中不可用。

有趣的是,似乎在我们应用程序的其他地方,如果通过在超链接控件的代码隐藏单击事件上使用 ClientScriptManager.RegisterStartupScript 调用将 open.window 调用添加到页面(而不是调用在aspx) 会话被保留。

如果不进行重大更改和所有需要的回归测试,后一种解决方案将难以在当前框架代码中实现。

任何人都知道如何在子窗口关闭后保持会话状态处于活动状态。

顺便说一句,这发生在 IE7 中,我们的应用程序是基于 asp.net 2.0 的。

提前感谢您对这个问题的深刻而优雅的解决方案!;o)

0 投票
3 回答
5323 浏览

security - 安全地实现会话状态和“让我保持登录”功能

我想提高有关会话管理的当前应用程序的安全性,并且我希望用户在他们明确注销之前一直登录。

如何安全地实现这一点?

将会话信息保存在数据库中,例如 sessionid、ip、useragent?

请提供要求,可能是数据库布局、注意事项、提示和技巧。

注意:我知道像 asp.NET、rails、codeigniter 等框架已经解决了这个问题,但这不是一个选择。实际上它是一个经典的asp应用程序。但我认为这个问题与特定语言无关。

0 投票
6 回答
20382 浏览

asp.net - 允许网络场中的会话?StateServer 是否足够好?

首先给大家介绍一下当前环境的背景。我们有许多 ASP.NET 应用程序,所有这些应用程序都在某些方面使用会话。由于流量级别,我们在多个服务器上进行了“负载平衡”,但是,我们的负载平衡设置为使用“粘性会话”,因为当前所有 Web 应用程序都设置为使用“InProc”作为会话状态。

我们正在考虑能够删除负载均衡器上的“粘性会话”配置,因为由于我们的流量负载,服务器可能而且确实会超载。我们希望采用更平衡的方法,但必须能够使用会话。

我知道用于会话状态的 SqlServer 可以工作,但是由于我们无法控制的原因,我们不能使用 SqlServer 来存储我们的状态。在研究中,StateServer 似乎是我们最好的选择。我们有一个额外的服务器,周围有大量的内存。这个服务器可以是我们整个 Web 集群的 StateServer。我们只想知道以下几点。

1.) 除了从 InProc 切换到 StateServer 的任何潜在的序列化问题之外,是否存在与上述环境丢失会话对象或生成错误有关的任何重大已知问题?

2.) 除了单点故障和稍慢的性能外,我们在使用 StateServer 时还需要注意其他任何问题。

3.) 是否有任何指标可以显示三种状态存储之间的性能差异?

0 投票
6 回答
792 浏览

java - 关于如何对网站进行会话证明的任何建议?

这可能是一个非常奇怪的问题,但一些提示或指南会很有帮助。我们要对我们的网站进行“会话证明”,基本上要确保两个不同的会话生成相同的链接结构(例如,用户 a 和用户 b 将在同一个网页中获得相同的链接)。

此测试背后的原因是,我们的网站是由内容管理解决方案生成的,该解决方案将为每个不同的会话生成不同的链接(URL)。该 CMS(内部构建)已修复为跨会话返回相同的链接。

会话证明的另一种情况是,我们的缓存机制 (SQUID) 一直在向我们的网站提供 TCP_MISSes,这使我们认为整个网站都被标记为动态的,并且缓存服务器必须一直重新获取所有对象。

0 投票
4 回答
807 浏览

php - How can you view ASP.NET Session State in a different platform like PHP?

Say I have an ASP.NET webpage and I also have a PHP Blog/BBS/Website. I want all logins to be done via the ASP.NET webpage. The ASP.NET Session State is stored in SQL. Is there any way I can read/decode the Session State from PHP to tell if a user is logged on if I have the Session State cookie?

0 投票
4 回答
570 浏览

javascript - Adobe AIR for JS 是否支持某种非持久性数据容器?

对于需要在 Adob​​e AIR 中开发应用程序的项目,我选择 HTML/Ajax 版本。目前该项目很小,包含登录部分和详细信息部分。

我想做的是在应用程序启动时显示 login.html,如果那是成功的 show/browse-to details.html 。

我的问题是,是否有一些快速而肮脏的方法可以将我从登录中收到的一些信息(例如用户 ID)保存在会话/应用程序容器中?

我简要查看了他们的BlackBookSafe示例,但我看到的是,虽然有多个页面,但它们实际上一直保持blackbooksafe.html打开状态,并将子页面加载到正文中,从而将会话数据保存在blackbooksafe.html
但在我看来,它创建了一种一团糟,宁愿每个页面都照顾好自己(javascript wise),这将使它更容易阅读。

0 投票
1 回答
858 浏览

c# - C# + asp.Net + 自定义 Sybase SessionState 提供程序 + ReportViewer = 一些报告崩溃

我正在使用自定义会话状态提供程序将会话数据存储在 Sybase 数据库中。

它运行良好,但报表查看器控件中的某些报表始终会导致以下崩溃。

System.Web.HttpException:会话状态信息无效并且可能已损坏。生成时间:格林威治标准时间 2009 年 4 月 2 日星期四 20:21:47

System.Web.HttpException:会话状态信息无效并且可能已损坏。在 System.Web.SessionState.SessionStateItemCollection.Deserialize(BinaryReader reader) 在 JCDCHelper.Providers.JCDCSybaseSessionProvider.SybaseCustomSessionData.Deserialize(HttpContext context, String serializedItems, Int32 timeout) 在 JCDCHelper.Providers.JCDCSybaseSessionProvider.SybaseCustomSessionData.GetSessionStoreItem(Boolean lockRecord, HttpContext context , String id, Boolean& locked, TimeSpan& lockAge, Object& lockId, SessionStateActions& actionFlags) 在 System.Web 的 JCDCHelper.Providers.JCDCSybaseSessionProvider.SybaseCustomSessionData.GetItemExclusive(HttpContext context, String id, Boolean& locked, TimeSpan& lockAge, Object& lockId, SessionStateActions& actionFlags)。会话状态.会话状态模块。

我试过阻止空键名,但没有任何乐趣。

我已经尝试手动序列化包含报告数据的 EntityObjects,它们可以很好地序列化和反序列化。

我没有耗尽内存,相同的报告崩溃,并且无论我的内存负载如何,相同的报告都不会崩溃。

我用谷歌搜索了所有我能想到的东西,但我很困惑。

其他一切都按预期工作,序列化和反序列化就好了。

有没有人有任何想法或提示?

谢谢

卡拉丁-

0 投票
1 回答
863 浏览

sql - 如何在服务器场中使用 sql 会话状态模拟会话结束事件

使用 SQL 会话状态时,会话结束事件不可用。我们有一个使用此事件的现有应用程序,但我们需要将其切换到 SQL 会话状态,以便我们可以为应用程序设置服务器场。我们希望在负载均衡器上使用“粘性会话”,以便我们可以继续使用 inproc 会话状态,但无法使其正常工作。

有没有人遇到过类似的挑战或有任何想法?

谢谢。

0 投票
3 回答
9238 浏览

asp.net - ASP.NET 中没有会话状态的用户身份验证

为 ASP.NET 应用程序提出的要求之一是我们在全局范围内禁用会话状态。(这是没有商量余地的。)

另一个要求是我们有一些用户身份验证的方法。我正在考虑使用 ASP.NET 的成员提供程序模型。

是否可以在没有会话状态的情况下进行用户身份验证?

我们正在寻找的特定用户身份验证示例是:

  • 用户未经身份验证访问网站
  • 用户输入注册信息(联系方式等)
  • 在剩余的会话中,用户可以访问某些内容,这要归功于他们的注册状态

有没有办法用 cookie 做到这一点?

这可以安全地完成,所以cookie不容易被欺骗吗?

ASP.NET 中是否有内置功能来支持这一点,还是我们需要推出自己的方法?