- - PR -
[ASP.NET] Response.Redirect 後にボタンイベント発生?
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-10-12 17:40
裏づけはとれていないということですね。
実装しているなら、そのタイムアウトとセッションのタイムアウトは別ですよ。
<asp:Button OnClientClick="submit();" みたいな事をすると2重にsubmitしますよね。(理由は、 <input type="submit" onclick="submit();" のようになって、submitボタンとしてのsubmitとjavascriptのsubmitが走るから) この場合スレッドが同じかといえば、ちょっと試した結果、同じ場合も違う場合も ありました(これってそんなに重要ですかね)。ただ、セッションは同じです。 非同期で処理が走るかといえば、走りません。 | ||||||||||||
|
投稿日時: 2007-10-12 18:46
書き込みありがとうございます。
本日他の場所で別件担当していまして進展ありません。 ●Jitta様: なるほど、セッションIDもログに含めるようにしようと思います。 ●べる様:
状況説明不十分ですみません。 エラーログを見ると、サーバサイドのボタンクリックイベント内のセッション変数を扱っている部分で発生してる事が分かっています。 あと、Form認証は利用しておりません。
スレッドであるかどうかが重要か否かは、知識不足でよく判らないのですが、少なくとも同期で、同じセッションで2回処理が走るとすると、私が書きましたように、先発 Submit で参照後にセッション変数をクリアした場合、後発 Submit で Nothing で返ってくるという認識でよろしいですよね? 手元にVS.NETの環境がないのですが、また試してみたいと思います。 私の ToDo ばかりがたまっていきますが、色々示唆与えて頂けるので大変ありがたく思っております。 | ||||||||||||
|
投稿日時: 2007-10-12 22:45
そのリクエストにおいて、Response.Redirectを本当に通ったのか、ですかね。いずれにしても 本番環境でのロギング等の強化も必要ですし、テスト環境で再現できるといいですね。 そうすれば(セッションタイムアウト時間は設定で変えれるし)ステップ実行しれみればいいわけですから。
C#だと確かにPage_Loadが2回走るんですが、VBだと一回しか走らないんですよね。 深く調べてないですが、不思議でした。 | ||||||||||||
|
投稿日時: 2007-10-18 11:07
ご報告遅くなってしまいましたが、原因究明できました。
状況は、やはり ・ログイン情報のセッション変数は残っている ・ログイン情報以外のセッション変数の取り出しに失敗している という事でしたが、アプリケーションの不具合に起因することが明らかとなりましたので、アドバイス頂いた方々に深く感謝致しまして、本件はクローズとさせて頂きます。 色々と勉強になりました。 簡単に書きますと、 まず、「セッション変数マネージャクラス」を経由してセッション変数にアクセスしていました。この情報を記載しておらず申し訳ありませんでした。 そして、このクラスが、セッション変数名にログイン日時を付与する、という変な仕様になっていました。 ログイン情報を上書きするようなパスが仕様変更により発生し、その時にログイン日時が更新される為、それ以降、冒頭に書いた状況に陥っていた、というのが真相でした。 |