16

Session['user']ユーザーがアプリケーションにログオンし、ログアウトSession['user'] = loginすると、この変数は値として取得されますNull

問題は、短いタイムアウトがあり、セッション変数の有効期限が切れることです。アプリケーションSession['user'] =nullに自動的にログオンした後、1 分以内に何もしない場合。

では、プログラムによって変更されるまで、セッションの変数のタイムアウトを無制限に設定するにはどうすればよいですか?何か提案はありますか?

4

5 に答える 5

31

では、プログラムによって変更されるまで、セッションの変数のタイムアウトを無制限に設定するにはどうすればよいですか?何か提案はありますか?

timeout値を無制限に設定することはできません。

web.configの要素のtimeout属性を使用して、タイムアウト値を分単位で増やすことができます。sessionState


セッション状態の設定

デフォルトでは、ASP.NET は Cookie を使用して、特定のセッションに属する要求を識別します。Cookie を使用できない場合は、URL にセッション ID を追加することでセッションを追跡できます。Cookie を無効にするには、sessionState cookieless="true". (120 = 分)を設定します。

<sessionState mode="StateServer" cookieless="false" timeout="120"/>

このセッションタイムアウトを確認してください

于 2013-07-19T09:04:58.467 に答える
14

無制限に割り当てることはできません。セッション状態要素のタイムアウト属性を使用して、値を分単位で増やすことができますweb.config

<sessionState timeout="30">
</sessionState>

デフォルトのセッション タイムアウト値は 20 分です。また、フォーム認証を使用している場合は、認証タイムアウト値も確認してください

<authentication mode="Forms">
   <forms loginUrl="logon.aspx" 
   protection="All" path="/" timeout="30" />
</authentication>  
于 2013-07-19T08:54:31.620 に答える
8

変数ではなく、セッションのタイムアウトです。構成で数分で設定

<sessionState timeout="30" />
于 2013-07-19T08:54:43.417 に答える