私は自分のサイトの更新作業を行うために使用する管理ページを持っています。問題は、セッションが1分または30秒以内に期限切れになり、ユーザーがログアウトすることです。ルートフォルダのWeb.ConfigとAdminフォルダ内のWeb.Configでセッションを設定しましたが、それでもセッションはすぐに期限切れになります。 60分に設定しましたが、30秒または1分以内しか持続しません。これが私のルートフォルダのweb.configコンテンツ
<sessionState timeout="60" mode="InProc"
cookieless="false"></sessionState>
<customErrors mode="Off">
</customErrors>
<trace enabled="true" />
<authentication mode="Forms">
<forms
protection="All"
timeout="120"
domain="www.marpallichande.in"
slidingExpiration="true"
name="auth_cookie" />
</authentication>
これは、Adminフォルダー内のweb.cofingファイルの設定です
<sessionState timeout="60" mode="InProc"
cookieless="false"></sessionState>
これはSession_Startメソッドの下のGlobal.asaxファイルの私の設定です
Session.Timeout=60;
セッションがすぐに期限切れになる方法がわかりません。または、セッション以外にログアウトする理由があります。
sessionStateタイムアウト値は分単位です。まず、Session.TimeOut(およびsessionStateタイムアウトを除く他のタイムアウト値)を削除して、そのままにして試してみます。また、2つの構成ファイルがある理由がわかりませんか?同じ設定ですか?
私は同様の設定をしていますが、設定ファイルは1つだけです
<sessionState mode="InProc" cookieless="false" timeout="10" />
10分に設定します。
書く <sessionState mode="InProc" cookieless="false" timeout="10" />
アプリケーションのグローバルweb.configファイル。
session_OnEndという名前のサブルーチンをGlobal.asaxファイルに追加して、Session_OnEndイベントを定義します。 Session_OnEndサブルーチンは、メソッドが呼び出されたとき、またはセッションが期限切れになったときに実行されます。セッションに対して要求が行われずに、Timeoutプロパティで指定された分数が経過すると、セッションは期限切れになります。
Session_OnEndイベントは、セッション状態のModeプロパティがInProcに設定されている場合にのみサポートされます。
Session_onEndイベントは、global.asaxで次のように定義できます。
public void Session_OnEnd()
{
// do your desired task when the session expires
}
次のようなセッション状態設定については、ルートweb.configを確認してください。
//タイムアウトは分単位です
// InProcに関するglobal.asxの使用に関する注意: SessionStateModule.End Event
Session_OnEndイベントは、セッション状態のHttpSessionState.Modeプロパティ値がデフォルトであるInProcの場合にのみサポートされます。セッション状態モードがStateServerまたはSQLServerに設定されている場合、Global.asaxファイルのSession_OnEndイベントは無視されます。セッション状態のModeプロパティ値がCustomの場合、Session_OnEndイベントのサポートは、カスタムセッション状態ストアプロバイダーによって決定されます。
<system.web>
<sessionState mode="InProc" cookieless="false" timeout="30" />
</system.web>
これは1つの場所でのみ定義する必要があります。
数秒後自動的にページログアウトの場合、これはセッションの有効期限
<sessionSate mode="StateServer" cookieless="false" timeout="940"/>
web.configにコードを記述します
私は ここにリンクの説明を入力してください から解決策を見つけます