2009-07-30 45 views
138

私は非常に試しましたが、ASP.Net Webアプリケーションのインプロセスセッションのセッションタイムアウト値を設定する方法に関する解決策を見つけることができません。web.configでセッションタイムアウトを設定するには

VSTS 2008 + .Net 3.5 + C#を使用しています。ここで私がタイムアウトを1分にするように自分で書いたのは正しいですか?

私はあなたがこのようなものを使用、20分にタイムアウトを設定したい場合はweb.config

<sessionState timeout="1" mode="InProc" /> 
+5

あなたはタイムアウトが正しいかを定義する方法を。あなたはそれに問題がありますか? –

+4

はい、その罰金.. –

+7

これは、開始から1分後ではなく、1分間の非アクティブ後に有効期限が切れることを意味します。私の推測では、この質問をしてタイムアウトを正確に入力した場合、それがどのように動作するのか誤解するかもしれません。 –

答えて

255

にsystem.webセクションの下に書いた:

<configuration> 
    <system.web> 
    <sessionState timeout="20"></sessionState> 
    </system.web> 
</configuration> 

をあなたに右

が表示されます
+11

20分または時間? (timeout = "20") –

+13

Configはタイムアウトを分単位で示していますので、20分 – Wolfwyrd

44

timeout属性で設定する値は、セッションタイムアウト値を設定する正しい方法の1つです。

timeout属性は、セッションが放棄される前にアイドル状態になることができる時間を分単位で指定します。この属性のデフォルト値は20です。

この属性に1の値を割り当てると、アイドル状態から1分後にセッションを放棄するように設定しています。ブラウザを開き、次のページに移動し、これをテストする簡単なaspxページを作成し、Page_Loadイベントにこのコードを記述し、

Response.Write(Session.SessionID); 

する

。セッションIDが印刷されます。 1分待ってからリフレッシュしてください。セッションIDが変更されます。

私の推測が正しい場合は、セッションがタイムアウトするとすぐにユーザーをログアウトさせる必要があります。これを行うためには、リグアップ、ユーザーの資格情報を確認し、このようなセッション変数を作成するログインページをすることができます - 今、あなたはこのように、この変数のすべてのページのチェックを実行するために

Session["UserId"] = 1; 

を持っています -

if(Session["UserId"] == null) 
    Response.Redirect("login.aspx"); 

これは、これがどのように機能するかの裸の例です。

しかし、プロダクション品質のセキュリティで保護されたアプリケーションを作成するには、Roles & MembershipクラスをASP.NETで提供してください。これらは、フォームベースの認証を提供します。これは、使用しようとしている通常のセッションベースの認証よりもはるかに信頼性があります。

+0

偉大なアドバイス... セッション変数を最初に設定してから、 Response.Write(Session.SessionID);それ以外の場合は、リフレッシュするたびに新しいIDで更新されます。 –

1

web.configでこれを使用します。

<sessionState 
    mode="InProc" 
    stateConnectionString="tcpip=127.0.0.1:42424" 
    sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" 
    cookieless="false" 
    timeout="20" 
/> 
+30

あなたは、あなたがリストアップする属性の大部分を必要としません。実際には 'timeout'だけです。 'stateConnectionString'と' sqlConnectionString'は 'mode =" InProc "'のときは無視され、 'mode'と' cookieless'の値はデフォルト値に設定されます。だから、これは実際にウォルフウィードの答えに至ります。 – arcain

関連する問題