.net column

.NET開発者のためのブログメディア
タイマー

ASP.NETでセッションのタイムアウト判定をする方法

2019年11月25日

ASP.NETで開発を行う場合、セッションを活用してWeb画面間でデータをやり取りすることは多々あります。そして、このセッションにはタイムアウトという概念が存在します。タイムアウトする時間は各々のコーディングで設定できますので、ここで確認しましょう。

SE
ASP.NETにおいて、セッションのタイムアウトの初期値ってどれくらいなのでしょうか?
PM
初期値は20分ですね。ソースコードでもタイムアウトの時間は設定できますので、ここでいくつかの方法を確認しましょう!

ASP.NETでセッションのタイムアウト設定方法

ASP.NETでセッションのタイムアウトを設定する方法はいくつかあります。設定する箇所により優先順位も存在しますので、覚えておきましょう。

■優先順位1
各ページにSession.Timeoutを追加する方法になります。
クライアントサイド、サーバーサイドどちらにも記述可能です。
クライアントサイドで設定する場合:<% Session.Timeout = 60%>
サーバーサイドで設定する場合:Session.Timeout = 60

■優先順位2
global.asax内にあるApplication_Startメソッドの中にSession.Timeoutを追加する方法です。

■優先順位3
Web.configにsessionState 要素を追加する方法になります。

ここで設定した内容は、Webアプリケーション全体に影響を及ぼすので、慎重に設定を行いましょう。

■優先順位4
Machine.Configを変更する方法です。
Web.configと同様にコーディングします。ここでの変更はマシン全体に影響するので、Web.configに対して変更を行う以上に、慎重に行うべきでしょう。

注意点として挙げられるのが、タイムアウトの時間を多く設けすぎると、より多くのメモリーが消費されることです。あまり大きな値を設定することはおすすめできません。

セッションのタイムアウトを設定する方法と判定の仕方もあわせて確認

ここでは、コード内にセッションのタイムアウトを設定する方法と、そのセッションが切れているかどうかを判定するサンプルソースを提供します。

セッションのタイムアウトと判定

SE
セッションのタイムアウトの設定方法っていろいろあるのですね。現場に合わせて対応していきます。
PM
Web開発においてセッションはよく利用するアイテムです。使うと同時に後々の手間を省くためにも、タイムアウトの時間に関してもあらかじめ決めておきましょう。

セッションのタイムアウトの時間は把握しておくべき

ユーザーがWebアプリケーションを実際に利用する場面を考えます。その際、セッションのタイムアウトの時間はアプリケーション運用者が把握しておくべき時間といえます。運用する場合は、ユーザーとタイムアウトの時間を相談して決めると良いでしょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)