セッションの基本操作セッション項目の追加と変更 session.add("test", datetime.now);
session["test"] = datetime.now; セッションの追加と変更の方法は同じです。指定されたセッション ID が存在しない場合、システムによって追加されます。システムが存在する場合は更新されます。セッション項目を削除します session.remove("test"); session["test"] = null は使用しないでください。これは値を null に設定するだけです。すべてのセッション項目を削除します session.clear(); または session.removeall(); 現在のセッション状態を終了します session.abandon(); 現在のセッションIDs session.sessionidセッションが作成されたときブラウザ (つまり、chrome、firefox) ブラウザを初めて開くとき (ブラウザが現在実行されていないとき)、サーバー側で新しいセッションが作成されます。 IE ブラウザでは、既存のブラウザが実行されているときに新しいブラウザを開くと、新しいセッションが作成されます。 Chrome および Firefox では、既存のブラウザが実行されているときに新しいブラウザを開いても新しいセッションは作成されません。セッションの有効期限が切れても、アクセスが継続するとセッションが作成されます。 global.asax の session_start メソッドは、セッションの作成時にトリガーされます。 セッションはいつ期限切れになりますか?
- コード session.abandon(); によりセッションが期限切れになります。
- セッションがタイムアウトし、自動的に期限切れになります。
- web.config は変更されており、有効期限が切れます。
- iis のアプリケーション プールがリサイクルされていることが原因です。
global.asax の session_end メソッドは、セッションの有効期限が切れるとトリガーされます。奇妙な質問: session.abandon(); はセッションタイムアウトの自動期限切れと同じ効果があります。有効期限が切れると、ページが更新されるときに session_start メソッドと session_end メソッドが実行されます。 session.abandon(); を呼び出した後に session["sessionstartdatetime"] = datetime.now; を追加しないようにする方法リセットします。
セッション有効期限 web.config で
の分値を設定します。 (未入力の場合、デフォルトの有効期限は 20 分です) iis のセッション タイムアウト設定は有効になりません。 (設置場所は下記の通りです)
Webサイトに関連付けられたアプリケーションプールにはリサイクル期限があります。テストしても機能しません。ただし、手動でリサイクルするか、スケジュールされたリサイクルを設定すると有効になります。 (Webサイトアプリケーションプールの関連付け方法は以下の通りです)
セッションの有効期限を防ぐ方法セッションの有効期限を長く設定することができます。ただし、設定が長すぎると、サーバーに過剰な負荷がかかる可能性があります。セッション モードをアウトプロセスまたはデータベース チュートリアルに設定します。ここでは議論はありません。一般的な実際の状況としては、ユーザーがブログ投稿投稿ページなどの特定のページを投稿する場合、編集プロセスに時間がかかることがあります。送信中にセッションの有効期限が切れたことが判明する場合があります。その結果、ユーザー情報が失われ、記事を投稿できなくなります。この場合は、指定したページのセッション時間を延長するだけで済みます。バックグラウンドの空白ページには、ajax を介して定期的にアクセスできます。セッションをオンラインに維持します。