Web サイトで発生している問題の 1 つをデバッグするのに問題があります。これが問題です。従業員の写真と従業員に関連する情報を含む Web ページがあります。ユーザーが当社の Web サイトにログインすると、セッション中の従業員の詳細が保存されます。従業員の写真の画像 URL を次のように設定しています。
imgEEPhoto.ImageUrl = imgPhoto.aspx?Company=XXXX&Empno=YYYY.
ページ imgPhoto.aspx 内で、そのユーザーのセッションが有効かどうかを確認しています。従業員の写真があるページにログインすると、写真が表示されないことがあります。imgPhoto.aspx ページ内でセッションが生きているかどうかを確認しているためです。セッションがアクティブな場合もあれば、セッションがアクティブでない場合もあります。セッションを非同期的に null に設定する機能があるようです。その機能を追跡する方法がわかりません。そのため、imgPhoto.aspx ページ内で、これまでに実行されたすべての関数のリストを取得できれば、セッションをリセットしている関数を追跡できると考えています。これを見つける方法はありますか?
この問題をデバッグする別の方法がない場合は、お知らせください。
編集:
ページ imgPhoto.aspx は、company と empno をクエリ文字列パラメーターとして取得します。次に、ページは company と empno に基づいてバイナリ データを取得し、Response.BinaryWrite() を使用して写真を表示します。セッション チェックは、この関数の先頭にあります。したがって、この関数が呼び出される前のどこかで、メインページのすべての関数が終了した後、セッションがタイムアウトになります。セッションIDを出力できるため、実際にタイムアウトになっているかどうかはわかりません。しかし、セッションに保存されている変数にアクセスできません。
関数内のコールスタックを出力すると、そのページ内で実行される関数のリストが表示されます。その関数の前に実行されるすべての関数を提供しているわけではありません。