问题标签 [sessionend]

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 投票
1 回答
1588 浏览

asp.net - 在会话中间多次调用 Session_End

我是否错误地使用了 Session_End?

在我的应用程序中,我有一个缓存来加速页面加载,它工作得很好。最近,有人向我建议,我从不清空内存是在泄漏内存,并在 Session_End 上实现一个方法,该方法将清除与该会话 ID 关联的所有缓存条目。

虽然我偶尔会开始看到异常行为。加载页面时,我很少会看到一个空页面,由于该页面的缓存为空而显示异常。我在缓存访问和 session_end 方法中放置了一个调试器断点,希望下次它发生时能够捕获它。

下次它发生时,我对实际发生的事情感到非常惊讶。我的浏览器一直处于打开状态但闲置了很长时间,所以我猜它有一个陈旧的会话 cookie。它访问页面的服务器,将页面的副本放入缓存中。当页面仍在加载时,会立即调用 Session_End,将其从缓存中删除。如果我重新加载浏览器,Session_End 会不断被调用,并积极尝试关闭糟糕的浏览器不断请求的会话。

所以我想我真正的问题是:

  • 如果旧的会话 cookie 对 IIS 很不利,为什么浏览器不获取新的会话 cookie?
  • Session_End 是否根本不适合以这种方式使用?
  • 有没有更好的方法来做我想做的事情?

@Sosh - 我的 global.asax.cs:

0 投票
2 回答
146 浏览

php - PHP 上的 Session_ONEEnd

我最近开始用 PHP 编程。

我正在用 PHP 构建一个购物车。当有人将我的产品添加到他们的购物车时,我将其锁定在购物车中。

当特定用户注销或会话到期时,我需要解锁这些产品。

我如何调用像 asp/asp.net 中的 session_onend 函数来解锁/释放那些锁定的产品?

0 投票
1 回答
3790 浏览

asp.net - ASP.NET MVC:在 Session_End 或之前的事件中访问会话数据

我已经看到了与此处发布的问题类似的问题。我有基本相同的问题,但有一个小转折。

我正在尝试从 Session_End 方法中访问 Session 信息,但是当我到达那里时 HttpContext 为空,所以我没有找到任何真正的方法来获得它;几乎就像在 Session_End 触发时它已经被完全擦除了一样。

相关问题中的一个解决方案说我可以this.Session用来引用我需要的会话信息,它访问HttpApplication.Session来自 HttpApplication 类 Global 继承的变量。但是在我的应用程序中,我们自己在 Global 中重新定义了 Session 变量,如下所示:

所以对我来说,引用 this.Session 会尝试从 HttpContext 中获取信息,它是空的。

所以我想我有2个问题。首先,是否有在 Session_End 之前但在 Session 数据被清除之前触发的事件?其次,如果第一个问题的答案是否定的,是否还有办法从 Session_End 访问该数据?

谢谢。

0 投票
2 回答
3015 浏览

asp.net - 关于 asp.net 中的 Session_End 和 Application_End 方法

我正在尝试实现一个实现 System.Web.HttpApplication 接口的类(我们称之为 CustomerConnection 类)。我尝试以这种方式在这个类中实现两个事件 session_end 和 application_end 事件:

但似乎这些事件在应用程序结束或会话注销时都没有执行。

我应该如何让这些事件得到执行?是不是我必须通知某些其他事件?

我只是在创建一个新的客户类对象。执行这些事件是否足够,或者我的方法从根本上是错误的?

请帮帮我

感谢期待

0 投票
1 回答
1294 浏览

asp.net-mvc-2 - MVC 2 Antiforgerytoken 会话问题

我已经在我的 MVC 2 应用程序中实现了 antiforgerytoken。
还在web.config. _ 当会话到期并且我尝试发布帖子时,它会引发A required anti-forgery token was not supplied or was invalid错误。
防伪令牌似乎即将到期。

我的问题是

  • 为什么会话到期后会抛出错误?
  • 令牌的有效期是多久?
0 投票
1 回答
526 浏览

c# - 告诉 Windows 我不再需要在 WPF 应用程序中阻止其关闭

在我的 WPF 应用程序中,我使用 SessionEnding 事件来防止在我的应用程序需要保存数据时关闭 Windows。它有效,但我不知道如何告诉 Windows 我不再需要阻止它的关闭。我有一个 bool 变量,它告诉您现在是否正在进行保存。如果我在 SessionEnding 中阻止关闭,当它结束时如何关闭我的应用程序?我不想在保存结束时简单地关闭应用程序,因为我不知道用户是否已取消关闭。请帮忙。

0 投票
1 回答
587 浏览

c# - 当按标题栏关闭按钮asp.net c#时如何捕捉会话结束

我对 asp.net Web 应用程序有一些疑问。使用 sql server 会话状态的 Web 应用程序。注销事件可以删除会话,但按标题栏关闭按钮要删除会话。按下标题栏关闭按钮时可以控制哪些事件。我读到了 session_end 事件可以在按下标题栏关闭按钮时捕获。但是不能使用 sql server 会话状态产生 session_end 事件。怎么能抓?

0 投票
3 回答
1119 浏览

c# - 哪里最好在 ASP.net 应用程序中删除临时文件?

我在我的 asp.net 应用程序中创建了几个临时文件,当用户完成使用它们时我需要删除它们。

我试过了

但它不起作用。

有任何想法吗?

0 投票
1 回答
2117 浏览

c# - 从 global.asax 中的 Session_end 重定向到另一个页面

我需要在会话超时时将用户重定向到登录页面。global.asax 中 Session_End 方法的问题是:

  1. 它不支持 Response.Redirect 或 Server.Transfer
  2. 任何使用 HttpContext.Current.Response 的尝试都会导致“对象引用未设置为对象的实例”错误
第二个错误是可以理解的,因为在会话超时时,当前会话将被终止并设置为空。
我想知道的是是否可以将用户直接(特别是)从 session_end 重定向到另一个页面。有些方法有效(不使用 session_end 方法),但它们都需要向服务器发出请求(例如刷新,我不想要)。我可以在不使用 javascript 的情况下执行此操作吗?(更重要的是,我应该这样做吗?)
提前致谢!

0 投票
2 回答
1700 浏览

asp.net - 关闭浏览器后 Session_End 不调用

我在 web.config 中使用以下设置

...

Session_End根据 Session 的值,我更改数据库中列的值(如果此列的值为 1 表示用户在线)但有时在用户关闭浏览器的一天后,此列的值 steel 为 1(表示用户关闭浏览器后 Session_End 不调用)