- - PR -
Session_Endイベントについて
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-02-23 09:57
お世話になります。
現在VB.netでWEBアプリを開発しております。 開発しておりますシステムはログオフ概念がなく ログイン時にオラクルに接続をして 接続情報(コネクションクラス)をセッションに 持たして、セッション毎に接続を確立させております。 現在、Session_Endイベントにて 上記、接続情報をlogClassといった独自のクラス内に もっております。その接続情報の切断タイミングとして 下記のように 切断しようとしております。 Sub Session_End(ByVal sender As Object, ByVal e As EventArgs) 'ログイン情報のセッション設定 Dim LogInf As logClass logClass = Session("SesssionInf") If logClass.myConnection.State <> ConnectionState.Closed Then logClass.myConnection.Close() End If End Sub Session_Endイベントについていろいろ調べてみると Session_Endイベント内では既にセッションは死んでいる といったコメントを目にしますが、デバックをかけると logClass.myConnection.Stateの状態はしっかりとOPEN状態 と取得できます。 ただし、まれに、条件文で Application_Errorに 飛んでしまいます。 やはり上記コードの記述は誤っているのでしょうか? Session_Endイベント内でセッション情報を扱うこと 誤っているのでしょうか? そうした場合、オラクルを切断するタイミングに困ってしまいます。 どなたか、助言いただきたくよろしくお願い致します。 | ||||
|
投稿日時: 2005-02-23 10:11
使うときだけ繋ぎましょう。 Sessionに入れておく必要はありません。 _________________ たつごろー codeseek こみゅぷらす | ||||
|
投稿日時: 2005-02-23 10:17
たつごろー様
ご返答ありがとうございます。 繋ぐのは使うときだけですが、 コネクションクラスがオラクルにアクセスする 際に必要なのでセッションでもっております。 | ||||
|
投稿日時: 2005-02-23 10:24
セッションに持つ理由というより、こういう設計をしたということですよね。 では、これを変えたほうがよいと思われます。 _________________ たつごろー codeseek こみゅぷらす | ||||
|
投稿日時: 2005-02-23 10:45
似たような話を以下でもしているので参考に
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19260&forum=7&3 _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||
|
投稿日時: 2005-02-23 12:43
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=25647
| ||||
|
投稿日時: 2005-02-23 13:14
どなたか わかる方いらっしゃいましたた
ご教授よろしくお願い致します | ||||
|
投稿日時: 2005-02-23 13:19
コネクションクラスをセッションで保持するのをやめましょう。 DBにアクセスする直前にコネクションをはってください。 DBへのアクセスが終わったらコネクションをきってください。 オブジェクトも捨てます。 毎回つなぎに行くのが効率が悪くなると思うかもしれませんが、これで問題ありません。 コネクションの扱いはチューニングもかかわってくるのでDBAに相談することも必要です。 _________________ たつごろー codeseek こみゅぷらす |