- PR -

画面が更新されない

投稿者投稿内容
girityon
会議室デビュー日: 2004/03/22
投稿数: 10
投稿日時: 2008-02-25 11:10
ボタンを押した際、サーバーにpostbackしてもクライアント側の画面が
更新されない場合があります。

・readyStateの確認でダブルクリック防止
・Microsoft.VisualBasic.DateAndTime.TimerをSessionキーとして付加し、キーが一致するか確認することによって、戻るボタンなどでの読み込みを防止しています。

クライアント画面がサーバーの情報を取得せず、読み込みが完了している為、
sessionキーが更新されず、保持しているキーと異なる為、戻るボタン押下時と同様と判断されてしまいます。

正しく動作する場合がほとんどですが、稀にボタンを押してもIEの読み込みインジケーターにも反応なく、サーバーへのpostbackだけが発生していることが起こります。
キャッシュを無効にしてもだめでした。
心当たりのある方がおりましたらアドバイスをお願い致します。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2008-02-25 11:40
どんな環境下で何を動かしているのか判りませんが
内容から推測するにASP.NETでいいのでしょうか

キャッシュしないようにしていますか、
と言いたいところですが
引用:
キャッシュを無効にしてもだめでした。


とのことですが、
具体的にどのように行ったのでしょうか。
やり方を違えている可能性もあります。

他にもプロキシサーバがキャッシュしていたり
キャッシュを助けるようなアプリをインストールしていたりしないでしょうか。
girityon
会議室デビュー日: 2004/03/22
投稿数: 10
投稿日時: 2008-02-25 11:49
返信ありがとうございます。
http://support.microsoft.com/kb/234067/ja
で記載されている方法で
IISにてカスタム ヘッダー名に "Cache-Control"、カスタム ヘッダー値に "no-cache" を追加してみました。
プロキシに関してはイントラ内のため除外されていますし、
ソフトはIE6のみを使用しています。
特に変わったソフトはインストールしていません。
IIJIMAS
ベテラン
会議室デビュー日: 2006/12/06
投稿数: 77
投稿日時: 2008-02-25 12:57
タイトルが全く同じ
「画面が更新されない」
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=41991&forum=7
という過去スレッドがあります。
この内容に関係ありませんでしょうか。

追記:
その先のリンク(過去スレッド)も貼っておきます。
参考過去スレッド「件名:ASP.NETを使ったブラウザ上でのグラフ表示」
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=39352&forum=7&5

[ メッセージ編集済み 編集者: IIJIMAS 編集日時 2008-02-25 12:59 ]
girityon
会議室デビュー日: 2004/03/22
投稿数: 10
投稿日時: 2008-02-25 18:25
過去スレッドを読んで自分のケースと違うと思い、投稿しました。
もう一度読んでみましたが、間違ってるかもしれませんが私の解釈としては
aspxそのものは更新されているが、その中に含まれる画像などのリンクは
キャッシュを参照してしまう場合と解釈しました。

相談対象のボタンは次頁へ遷移するボタンです。
サーバー側では別のページに移動する返答を返してるはずなのに、
クライアントはボタンを押した後、
一瞬瞬きするだけで読み込み完了状態(遷移元画面のまま)。
ただ、サーバーへはpostbackされてると思われます。
(サーバー側のSessionキーが更新されている)

IISにてカスタム ヘッダー名に "Cache-Control"、カスタム ヘッダー値に "no-cache" を追加するだけでは、完全にキャッシュ問題は解決できないのでしょうか?
基本的な部分を理解できてないのかも知れません。
宜しくお願い致します。
IIJIMAS
ベテラン
会議室デビュー日: 2006/12/06
投稿数: 77
投稿日時: 2008-02-25 19:32
引用:

girityonさんの書き込み (2008-02-25 18:25) より:
過去スレッドを読んで自分のケースと違うと思い、投稿しました。


そうでしたか。
できればそのことを最初のご投稿で書いていただきたかったです。
お役に立てずに申し訳ございません。。。
引用:

もう一度読んでみましたが、間違ってるかもしれませんが私の解釈としては
aspxそのものは更新されているが、その中に含まれる画像などのリンクは
キャッシュを参照してしまう場合と解釈しました。


画像に限らず、同じURLでのRequestに対する、Responseで返るものがそうなることがあります。

引用:

相談対象のボタンは次頁へ遷移するボタンです。
サーバー側では別のページに移動する返答を返してるはずなのに、
クライアントはボタンを押した後、
一瞬瞬きするだけで読み込み完了状態(遷移元画面のまま)。
ただ、サーバーへはpostbackされてると思われます。
(サーバー側のSessionキーが更新されている)

IISにてカスタム ヘッダー名に "Cache-Control"、カスタム ヘッダー値に "no-cache" を追加するだけでは、完全にキャッシュ問題は解決できないのでしょうか?
基本的な部分を理解できてないのかも知れません。
宜しくお願い致します。


この辺に書いてあることは関係ないでしょうか。
方法 : ASP.NET ページのキャッシュを宣言によって設定する
http://msdn2.microsoft.com/ja-jp/library/zd1ysf1y(VS.80).aspx

[ メッセージ編集済み 編集者: IIJIMAS 編集日時 2008-02-25 19:34 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-02-25 19:54
URL の最後に無意味に ? を付けてみるとか。
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2008-02-25 19:57
なんかもにゅもにゅした気分

サーバには間違いなくリクエストが行っているのに
画面だけが更新されないと言うことですか

と思ったら
引用:
相談対象のボタンは次頁へ遷移するボタンです。


と仰っていますね
つまり他は正常に動作するということでしょうか

だとすると「次頁へ遷移するボタン」のロジックに問題があって
まったく同じ画面を返しているだけ
と言うことはありませんか?

ためしに「次頁へ遷移するボタン」の処理でタイトルバーを変更してみるとか

スキルアップ/キャリアアップ(JOB@IT)