ASP.NET会话和目标空白

时间:2010-06-16 06:58:51

标签: c# asp.net

我看过一些关于Session的帖子,并使用目标空白打开一个新页面。 但我仍然没有得到它。

我正在使用从Intranet站点上的链接打开的应用程序。我猜它使用目标空白来获取它在一个新窗口。 (我没有来源)。

如果两个窗口都关闭(我的应用程序和Intranet站点),似乎会话被破坏。当我的申请被关闭时,我需要这样做。 (即仍然打开Intranet站点)。

如果我在我的测试环境中使用该网站而没有从目标为空白的页面打开它,似乎我得到了预期的行为。

Web.config有:pages enableSessionState =“true”

谢谢

2 个答案:

答案 0 :(得分:0)

如果应用程序和Intranet网站都使用相同的会话到服务器,它们都将保持活动状态。

当用户关闭应用程序时,您可以做的是销毁会话(Session.Abandon())。

答案 1 :(得分:0)

如果应用程序正在共享会话,那么在保持另一个应用程序活动的同时,将无法结束其中一个会话。

但是您可以捕获浏览器接近结束会话(不与您的Intranet站点共享)。

http://aspalliance.com/1294可以很好地了解如何操作。

我使用了以下javascript条件,它适用于5个场景中的2个:

  if (((window.event.clientX < 0) || (window.event.clientY < 0)) || (event.altKey == true && event.keyCode == 115)  {

警告('窗口正在关闭');  PageMethods.AbandonSession(); }

但这是非常特定于IE的,仅适用于使用浏览器窗口中的“X”按钮关闭单个标签浏览器以及ALT + F4。

希望这有帮助。