ホームページ >バックエンド開発 >PHPチュートリアル >セッション失敗の理由と損失の解決策の概要、セッションの概要_PHP チュートリアル
昨日GTSCに面接に行ったのですが、面接官にセッションが失われた後の確認方法を聞かれました正直、滅多に遭遇したことがありません。これまでの開発でこのような状況があった場合、思い浮かぶのはセッションのタイムアウトだけで、もう 1 つはセッションの読み取りと書き込みのログを実行することですが、これを聞いた面接官はあまり満足していないことがわかりました。汗!
いずれにせよ、今日は時間をかけてこれらの問題に対処する方法をインターネットで調べてまとめましたので、皆さんのお役に立てれば幸いです。
ところで、ASPのセッションの動作原理は次のとおりです:
asp のセッションはプロセスに依存します。 ASP セッション状態は、IIS プロセス (inetinfo.exe プログラム) に保存されます。したがって、inetinfo.exe プロセスがクラッシュすると、この情報は失われます。さらに、IIS サービスを再起動または終了すると、情報が失われる可能性があります。
asp.netセッションの実装
asp.net のセッションは HttpModule テクノロジーに基づいており、HttpModule はリクエストが処理される前にリクエストのステータスを制御できるため、HttpModule をセッションとして使用するのが最適です。
理由 1:
bin ディレクトリ内のファイルは書き換えられます。ASP.NET には、DLL の再コンパイル後にシステムが正常に実行されるようにするためのメカニズムがあります。これにより、セッションが失われます。 bin ディレクトリにアクセス データベースが存在するか、他のファイルがシステムによって上書きされ、セッションが失われます
理由 2:
フォルダーオプションで、「フォルダーウィンドウを別のプロセスで開く」がオンになっていない場合、新しいウィンドウが作成されると、システムはそれが新しいセッションであると認識し、元のセッションにアクセスできなくなる可能性があるため、オンにする必要がありますこのオプションを使用しない場合、セッションが失われます
参考構成:
http://jingyan.baidu.com/article/22fe7ced78594f3002617f04.html
理由 3:
セッション損失のほとんどはクライアントが原因であると思われるため、クライアントから開始してCookieがオンになっているかどうかを確認してください
理由 4:
セッションの時間設定に問題があるのでタイムアウトで失われてしまうのでしょうか?
理由 5:
理由 6:
失われた経験の解決策
番目の番号を記録する必要があります。
セッション操作を数回行うだけで、損失の原因を簡単に見つけることができます
4. セッションの作成時刻と終了時刻を記録するコードを global.asa に追加します。タイムアウトによるセッションの損失は、SessionEnd に記録できます。
5. セッションのステータスを維持するために JavaScript などの一部のコードでクライアント スクリプトが使用されている場合は、スクリプトのデバッグを試みて、スクリプト エラーによってセッションが失われたかどうかを確認する必要があります
上記の内容は、Bangkejia の編集者が共有したセッション失敗のいくつかの理由であり、皆様のお役に立てれば幸いです。
http://www.bkjia.com/PHPjc/1058160.html