2009-08-17 5 views
1

根本的な原因を突き止めるのにかなり時間がかかりました。 Windows Server 2003上で実行されているASP.Net 3.5 Webアプリケーションがあります。ユーザからのインタラクションなしに、アプリケーションがそれほど頻繁に更新されないという報告がユーザーから届いていました。これは私がクライアント側のリフレッシュをコード化していないので珍しいことでした。多くのトラブルシューティングの後、私はこれをInternet Explorer(両方とも& 8)の問題に絞り込んだ。 FF、Chrome、Operaはこの動作をしません。ASP.Net 3.5の奇妙なIEリフレッシュの問題

これは基本的に、ユーザーがIEの新しいインスタンス(新しいウィンドウまたは新しいタブのいずれか)でサイトを初めて訪れたときにのみ発生します。ユーザーがサイト内の任意のページに移動し、サイトと再び対話しない場合、6分後にブラウザが更新されます。そのリフレッシュ後、IEの同じインスタンスである限り、あなたが訪問したサイトのどのページであっても、それがどれくらい長く座っていても、リフレッシュは再び表示されません。これは本当に私を困惑させました。このアプリケーションはデータ入力フォームが6分以上かかるので大きな問題になっています。残念ながら、ユーザーがこの最新のバグによって捕まった場合、入力されたものは投稿のために失われます。

私は助けが必要です!試してみるためのアドバイスやオプションがあれば幸いです。ありがとう!

(いいえ、私は、これは非技術的なユーザーのためにIEを使用するように設定された制限と企業環境であるとして、より良いブラウザを使用するためにそれらを必要とすることはできません)

答えて

1

それはストレッチだが、多分あなたは、サードパーティのコンポーネントを持っていますIE用のメタリフレッシュタグを追加しています(http://www.w3schools.com/tags/att_meta_http_equiv.asp(リフレッシュ値)を参照)。あるいは、あなたのマークアップにlocation.reload()またはlocation.href = someLocationを置くIEの場合にのみ生成されるクライアントサイドコードがあるかもしれません。

IEとFireFoxのHTMLマークアップを比較しましたか?彼らは同じですか?それが私が始める場所です。それらが同じになる場合は、スクリプト参照を見て、location.reload()またはlocation.hrefを検索します。

実際にはその前に、アドオンを有効にせずにIEを実行して、リフレッシュするかどうかを確認してください。アドオンなしで実行するには、コマンドラインで "C:¥Program Files¥Internet Explorer¥iexplore.exe" -extoff

+0

のように実行します。ブラウザ間のソースコードは同じです。 IE7または8で12種類のマシン(XPとVista)でテストしましたが、すべて同じように動作します。アドインもありません。私は、再ロードやリフレッシュコードがないことを確認しましたが、そこにはありません。これはIEの初期インスタンスの最初のページ訪問時にのみ発生するという事実によってもサポートされているようです。私はサイトから他のサイトに移動して戻って来ることができ、このリフレッシュの仕方を示さない。 – Robert

+0

Fiddler、http://www.fiddlertool.comを読み込んで、何が起こっているのか見てみましょう。また、このページにはAJAXがありますか?おそらく、UpdatePanelがIEで非同期ポストバックを引き起こしているだけかもしれません。 – nickytonline

+0

私はFiddlerで何を探していますか?これは特定のページでは起こりませんが、ユーザーがどのページにいても、アプリケーション全体に起こっています。 AJAXがあるページもあれば、そうでないページもあります。どちらの場合も起こります。 – Robert