问题标签 [session-scope]
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.
java - Spring Controller,如何根据新的HttpRequest跳出循环?
我有一个 Spring @Controller。在控制器内部有一个方法,在特定请求进入 while 循环后,它会检查新数据并仅在找到数据时才中断:
在某些情况下,即使在特定用户操作后找不到数据,我也需要跳出循环。所以我需要从一个新的 HttpRequest 中,才能打破之前的 while 循环。
我也需要这个是每个用户的,所以一个用户不能与另一个用户操作交互。
控制器是单例的,因此它在所有会话中都有共同的属性。这意味着我们不能将状态存储在全局属性中,然后在循环内部检查更改以使其中断,因为这不是每个会话的属性。
除了让控制器拥有会话范围之外,还有什么方法可以做到这一点?(我什至不确定它是否会起作用)。
提前感谢您,我将不胜感激任何提示。
nhibernate - 在桌面应用程序中 Castle ActiveRecord SessionScope 的正确方法是什么?
在使用 Castle ActiveRecord 的桌面应用程序中
我打开一个 SessionScope 并在应用程序生命周期内保持活动状态,我在应用程序结束时处理它。
当我需要做“某事”时,我会这样做,如果我需要事务操作,我会根据需要创建 TransactionsScope(s) 一个嵌套事务,在事务正确结束后,我会刷新会话并继续保持 SessionScope 活动。
这种方法正确吗?或者我需要在 bl 进程开始时打开一个 SessionScope 并在最后关闭它?如果是,为什么?
我使用LazyLoad,一个进程可以根据需要调用另一个进程,同时单个进程可以单独运行。
-更新- 正确的方法是在表单级别打开一个会话范围,但是由于 ar 会话范围是以堆栈方式创建的,我不能在同一级别拥有超过 1 个会话范围,我只有一个会话范围进入另一个,有人知道如何解决这个问题吗?
jsf - 默认情况下调用会话范围托管bean中的resetProperty()?
我有一个会话范围的托管 bean,带有一个属性current
。如果我有方法
在 bean 中,每次我导航到应用程序中的新页面时都会自动调用它。这是正常行为吗?我没有在代码中的任何地方调用该方法。
考虑到这种重置会话 bean 属性的方法至少可以说不太理想,这将是实现它的正确方法?
谢谢你。
asynchronous - 从 EJB @Asynchronous 调用访问 CDI SessionScoped bean
我有一个需要很长时间才能计算的过程,因此它被标记为@Asynchronous
无状态 EJB。当该过程完成时,我希望它从会话中访问一个SessionScoped
bean,该会话启动了该过程以存储结果。
那可能吗?如何?
sql-server - NHibernate WinForms Multiple (SessionScope) Sleeping Sessions 性能
我已经使用 Castle AR (SessionScope) 实现了 NHibernate Session per Form 方法,如果我打开一个表单,我会打开一个 (SessionScope) 会话并在表单关闭时处理它。如果我打开 N 个单一表单,只要打开表单,我就有 N db 打开困会话,问题是:困会话意味着性能问题?在 db 上打开 N 个昏昏欲睡的会话是错误的吗?
jsf-2 - @PostConstruct 在 JSF2 / CDI 中更新其他 SessionScoped Bean 之前调用?
我的应用程序中有一个奇怪的行为:我使用 SessionScope bean (Bean A) 来保存用户偏好。在 RequestScope 中的另一个 Bean (Bean B) 中,我注入了 SessionScope bean。
Bean B 有一个@PostConstruct 方法,可以根据 Bean A 中的值从数据库中检索值列表。当用户更改 Bean A 中的值并且其在 Bean B 中的值当时不正确时,应用程序会感到困惑@调用 PostConstruct 方法。我用日志对其进行了测试。
我认为所有 setter 方法都会在调用应用程序阶段之前更新?
这是一个代码示例:
豆A:
豆B:
示例日志:
如您所见...前两个日志是正确的...如果用户更改首选项(更新 SessionBean),则将使用 JSF 重新呈现视图,并且最后两个日志的顺序不正确,我的应用程序会感到困惑。
谢谢你的帮助。
jsf - JSF SessionScoped managedBean 与 ViewScoped managedBean 结合使用
我的项目中有以下问题:
我们有 2 个托管 bean,配置如下:
这不是所有代码,但它可以让您大致了解情况:
- 保存会话对象的 SessionScoped bean
- ViewScoped bean,它包含与视图相关的对象和对 SessionScoped bean 的引用
现在的问题是:
- 我访问我的视图
- 我对同一个视图做了几次回传,每次都回到视图..到目前为止一切都很好
- 在某个时刻,我使用视图中的信息在 SessionScoped bean 中设置了我的会话对象,然后我离开了我的视图......到目前为止一切都很好
- 现在,当我返回此视图时,他创建了一个新的 ViewScoped bean 实例(如预期的那样)并将 SessionScoped bean 设置回来(因为 ManagedProperty 注释)
- 当我调试它时,我可以看到对 SessionScoped bean 的引用保持不变,所以它是同一个对象
- 但是,我之前在 SessionScoped bean 中设置的对象变成了
null
,这意味着他“丢失”了有关该对象的会话信息 - 我从来没有在 SessionScoped bean 中重置这个对象,所以我看不出它哪里出了问题......
如果您需要更多解释或希望我更好地表达这个问题,请告诉我或使用编辑按钮!
java - 在会话范围的变量中缓存当前用户数据
如何在整个用户会话期间缓存当前的用户实例,以便我的服务可以自由访问它,而不必去用户访问服务,然后一遍又一遍地从数据库中获取用户数据。
我知道 Spring 支持范围 bean 的概念(每个会话、每个请求等),但老实说,我从未真正使用过它,所以如果有人能告诉我方法,我将非常感激。
我非常希望这种会话范围是线程安全的。
jsf-2 - 在另一个应用程序中删除会话范围的托管 bean
我有一个 JSF 2.0 应用程序(App#1),它有一个托管的 Session Scoped bean,它执行一些业务逻辑,如验证等。单击 Continue 按钮后,向用户显示另一个纯 html 表单页面并单击 Submit 按钮此页面会将表单提交给不同的应用程序(App#2)。在 App#2 完成工作后,会向用户显示来自 App#3 的页面。请注意,所有这些都发生在相同的浏览器选项卡中。
在 App#3(也是一个 JSF 2.0 应用程序)中,我想删除 App#1 的会话范围 bean。我怎么做?我尝试了以下选项,但它们似乎都不起作用。
对于上面的代码行,我得到了 null
这里也为空。
java - 具有多个范围的托管 Bean
我有一个简单的问题请教各位专家
同一个 bean 是否可以同时具有 Session-Scoped 和 Request-Scoped?
例如,我有一个豆子myBean
,它可以是Session-Scoped
和Request-Scoped
吗?
编辑
在做了一些试验之后,我决定销毁第一个会话范围的会话。
有没有办法可以将它重新初始化为请求范围的请求?