DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ページが閉じられた時のイベントの取得

環境/言語:[Win 2000 Pro ASP.NET]
分類:[ASP.NET]

おはようございます。

ASP.NETで開発の方を行っているのですが、ページを閉じる時の
(画面右上の×ボタンクリック時)
イベントがとりたいのですが可能でしょうか?
page_events でDisposedやUnloadイベントにブレークをはって
試してみたのですが取得することが出来ませんでした。

javascriptのonUnloadで一応はとれそうということは
調べたのですが、この場合ページ移動時にもイベントを
取得するとあったので×したときだけイベントを取得
する方法があればお願いします。
Mooです。

この質問はしばしば掲示板などでやり取りされる内容です。

そのような実装をすると
パソコンの電源を切った場合やLANケーブルを抜いた場合、イベントを取得することができないはずです。

セッションのタイムアウトなどで判断するよう実装することをオススメします。
Mooさんお返事ありがとうございます。
そしてお返事遅れて申し訳ありません。

セッションのタイムアウト時のイベントていうのは
Global.aspxで取れたのですが、ここにあるアプリ
ケーションが終了したときというのは画面が閉じら
れたときとは全然関係ないのでしょうか?
わかればお願いします。
> セッションのタイムアウト時のイベントていうのは
> Global.aspxで取れたのですが、ここにあるアプリ
> ケーションが終了したときというのは画面が閉じら
> れたときとは全然関係ないのでしょうか?

結論を言うと「関係ない」となります

IEやFireFoxなどのWebブラウザが終了されたタイミングは
サーバに対して特に情報が送られることはありません
(Javascriptなどで、強制的にリクエストを送ることができますが
オススメできません)


Application_Endが発生するタイミングは、
http://www.microsoft.com/japan/msdn/net/upgrade/introwebforms.asp
によると、全てのユーザがセッションタイムアウトとなった状態
を指していますので、このとき特別な処理を行うということであれば
記述は可能だとおもいます。

(Application_Endを強制的に発生させる方法はいくつかありますが割愛します)
Mooさんお返事ありがとうございます。

ページが閉じられた時のイベントは取るのは無理そうなので
違ったアプローチを考えてみようと思います。

いろいろとありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板