2010-06-16 45 views
0

我已經看到了一些關於會話和使用目標空白來打開新頁面的文章。 但我仍然沒有得到它。ASP.NET會話和目標空白

我正在使用從Intranet站點上的鏈接打開的應用程序。我想它會使用目標空白將它在新窗口中。 (我沒有來源)。

如果兩個窗口都關閉(我的應用程序和Intranet站點),看起來Session會被銷燬。當我的應用程序關閉時,我需要這樣做。 (即仍然離開內聯網站點)。

如果我在我的testenvironment中使用該網站而沒有從目標空白的頁面打開它,看起來好像我得到了預期的行爲。

Web.config文件有:網頁ENABLESESSIONSTATE =「真」

感謝

回答

0

如果這兩個應用程序和內部網站使用同一個會話到服務器,他們都將保持活力。

你可以做的是在用戶關閉應用程序時銷燬會話(Session.Abandon())。

+0

謝謝。 我早些時候搜索瞭如何捕捉瀏覽器關閉,但我還沒有找到一個很好的解決方案。 「如果應用程序和Intranet網站都使用與服務器相同的會話,則它們都將保持活動狀態」 我可以更改它嗎?哪裏? (所有用戶都使用IE7/8) – Lennart 2010-06-16 07:09:52

0

如果應用程序正在共享會話,那麼在保留另一個會話的同時不能結束其中的一個。

但是,您可以捕獲瀏覽器以結束會話(不與您的Intranet站點共享)。

http://aspalliance.com/1294給出瞭如何做到這一點的公平想法。

我使用的JavaScript條件下面和它的工作2 5 scenatrios:

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

警報( '窗口被關閉'); PageMethods.AbandonSession(); }

但是,這是非常特定的IE瀏覽器,只適用於單個標籤瀏覽器關閉使用瀏覽器窗口上的'X'按鈕和ALT + F4。

希望這會有所幫助。

+0

嗨 您的意思是它不支持IE7/8,因爲它有多個選項卡? – Lennart 2010-06-16 08:36:50

+0

我的意思是鏈接應該是唯一一個在資源管理器窗口中打開的鏈接,除了鏈接之外,該窗口中不應該有更多的標籤。 (使其成爲單個標籤瀏覽器窗口)。然後它會工作。否則,我無法用多標籤瀏覽器窗口自己解決問題。 – 2010-06-16 09:52:13

+0

謝謝。 我會看着它..... – Lennart 2010-06-18 09:58:37