- - PR -
Session変数のメモリの開放方法は?
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-04 21:38
いつもお世話になっております。
セッション変数のメモリ開放の仕方なのですが 下記の処理でサーバ上のSession["KEY_AAA"]に割り当てられたメモリは Session.Remove("KEY_AAA")で正しく開放されるのでしょうか。 よろしくお願いします。 Session["KEY_AAA"] = "1MBの内容"; ←ここで1MBの内容を格納(サーバ上のメモリが+1MB使用になる) Session.Remove("KEY_AAA"); ← ここで1MBのメモリを開放(サーバ上のメモリが-1MBになる) | ||||
|
投稿日時: 2006-08-04 22:57
セッション変数について。超・初歩的ですがお願いします。
| ||||
|
投稿日時: 2006-08-04 23:19
どうもありがとうございます。
Session["KEY_AAA"] = null; Session.Remove("KEY_AAA"); GC.Collect(); これでよいのでしょうか? | ||||
|
投稿日時: 2006-08-05 02:21
上記リンクのスレに
「気になるならば、GC.GetTotalMemoryを呼び出して調べてみてください。」 って書いてありますよ。 [追記] スレの一番下に@IT内の記事にリンクがあったのか 「メモリが不足してくれば、自動的に回収が行われる。」とか 「メモリ管理に下手に手を出そうとすると、かえって効率を落とす可能性がある」 と書いてあるわけだ。 [ メッセージ編集済み 編集者: べる 編集日時 2006-08-05 11:38 ] | ||||
|
投稿日時: 2006-08-05 09:12
リンク先、知らない方には紛らわしいでしょうね。 ガベージ コレクションについて調べなさい -> GC.Collect について調べました。 になっていますから... (Collect メソッドを調べなさい、という意味ではなかったはず) コストの高い、GC.Collect メソッドを呼び出すような実装は、普通はあり得ないです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-08-07 11:13
みなさん色々とアドバイス有難うございます。
結局Sessionメモリの内容を開放するにはどうすれば よいのでしょうか。 Session.Remove("KEY_AAA"); だけしといて、あとは.net任せで、メモリの開放をすれば いいのでしょうか。 | ||||
|
投稿日時: 2006-08-07 11:23
紛らわしいリンクを貼ってしまったようですね。すいません。
私は、ASP.NET ではプログラム内で明示的にメモリ解放を行なう必要は無い、と考えています。 ガベージ・コレクタを明示的に動作させるには? 上記ページに、
とありますので。違うのかなぁ | ||||
|
投稿日時: 2006-08-07 12:40
ですね。 だいたい、メモリが気になるなら、Session だけ気にするのも変でしょう。 _________________ 囚人のジレンマな日々 |
1|2|3
次のページへ»