- PR -

Response.Redirectでページを表示できませんエラーが発生する

1
投稿者投稿内容
みやぼん
会議室デビュー日: 2006/01/06
投稿数: 13
投稿日時: 2007-04-12 18:07
いつもお世話になっております。みやぼんと申します。

ASP.NET2.0+Oracleを使用して開発を行っております。

あるページAのボタンクリックイベントで
DBのテーブル内のデータを1件更新してから
ページBへ遷移するといった処理を行っております。

ページBへ遷移する際のコードは
Response.Redirect(ページB,False)
としております。
また、1回の更新で4000バイト以上のデータが送信される
事があるため、web.configファイル内に
httpRuntime要素のmaxRequestLengthを"8192"に指定させていただいております。

この状態で
 1.ページAを表示
 2.ボタンクリック
 3.データ更新
 4.ページBを表示
 5.ページAを表示(ページBのボタンクリックで可能)
を何回か繰り返していると「ページを表示できません」画面が表示されます。

ieHTTPHeaders V1.62を使用して送受信されるデータ等をキャプチャしたのですが
正常にページBが表示できる場合も、「ページを表示できません」エラーが発生する場合も下記の通りLocationには次の画面がはいっております。
HTTP/1.1 302 Found
Connection: close
Date: Thu, 12 Apr 2007 06:48:13 GMT
Server: Microsoft-IIS/6.0
X-powered-by: ASP.NET
X-aspnet-version: 2.0.50727
Location: ページB
Cache-control: private
Content-type: text/html; charset=shift_jis
Content-length: 18358

どなたかResponse.Redirectでページが表示されたりされなかったりといった
現象に遭遇された方はいませんでしょうか?
またその場合の対処はどのようにされましたでしょうか?
ご教示をお願い致します。

[ メッセージ編集済み 編集者: みやぼん 編集日時 2007-04-12 18:07 ]
やまん
会議室デビュー日: 2007/04/13
投稿数: 1
投稿日時: 2007-04-13 14:57
こんにちわ。

以前、ASP.Net1.1で開発したシステムでも、似たような現象が発生したことがあります。
「ページが表示されません」エラーが発生し、他の端末で同様の操作を行っても再発しませんが、一度発生した端末では頻発するということがありました。

IISの再起動を行うと現象は解決しましたが、その後も稀に同様の現象が発生し、その都度再起動しております・・。
みやぼん
会議室デビュー日: 2006/01/06
投稿数: 13
投稿日時: 2007-04-13 18:47
ご返信ありがとうございます。
IIS再起動をやってみたのですが、
同様の現象がすぐに出てしまいます。
サーバの使用メモリも50%程度になっており
ページを表示できませんエラーの後も使用している
セッション変数が生きておりますので
IISのワーカープロセスが再起動された等の現象ではなさそうです。。。

todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2007-04-13 19:15
引用:

ieHTTPHeaders V1.62を使用して送受信されるデータ等をキャプチャしたのですが



横取り丸かFiddlerの方が詳しい状況が分かります。

サーバ側の状況は、IISのログとtrace.axdで見るとか。

[ メッセージ編集済み 編集者: todo 編集日時 2007-04-13 19:16 ]
みやぼん
会議室デビュー日: 2006/01/06
投稿数: 13
投稿日時: 2007-04-16 14:45
todo様ご返信ありがとうございます。
横取り丸とinetspyを入れて詳細な送受信情報を取ろうと
したところエラーが出なくなりました。
(なので詳細なログは取れておりません。。。)

横取り丸は、プロキシを切り替えるため
ひょっとして、プロキシサーバに原因があるのかと思い
IEのプロキシ設定でこのIPならプロキシを使用しない
という設定を行ったところ同一のエラーが起こらなくなりました。

また、プロキシの設定を元に戻して
Response.Redirectを
http://support.microsoft.com/kb/193489/ja
に掲載されているXRedirectへ変更したところ
同様にエラーが発生しなくなりました。
(ちなみにエラーの発生している端末の
IEはバージョン6だったので、
本来の原因を潰せている様な気がしないのですが・・・)

プロキシサーバの設定がどのようになっている場合に
このエラーが発生するのかはわからないのですが
httpのステータスが302なら×で
301ならOK
なのかなぁ?と思っております。
(ただこれだとクライアント側が原因になりますよね・・・)

さっぱりな発言ですが、次に疑うべき場所も思いつかず
途方にくれております。

一旦エラーが回避できたのでご連絡させて頂きました。
マツカタ
会議室デビュー日: 2007/04/16
投稿数: 1
投稿日時: 2007-04-16 15:16
はじめまして、マツカタと申します。

私の環境でもほぼ同様の現象が起こっておりましたが、
ただ、とあるクライアントの端末(WindowsXP, IE6.0)でしか起こりませんでした。
今後ASP.NET 2.0で開発を行う際には、
みやぼんさんの仰られる所を注意しなければならないのでしょうか・・・
みやぼん
会議室デビュー日: 2006/01/06
投稿数: 13
投稿日時: 2007-04-16 16:01
マツカタ様
ご返信ありがとうございます。
こちらでも同様に、全クライアントで発生する
事象かどうかを確認してみたのですが、
全ての端末ではございませんでした。

発生する端末も発生しない端末も
WindowsXP、IE6.0 SP2でした。

引用:
--------------------------------------------------------------------------------

今後ASP.NET 2.0で開発を行う際には、
みやぼんさんの仰られる所を注意しなければならないのでしょうか・・・

--------------------------------------------------------------------------------

どうなんでしょうか?
私が発生しているのは、システム中のあるページだけなのですが
同様のコーディングをしている点を考えると、全ての
ページで発生する事を考えないといけないですよね。

他の皆さんでも同様の現象が発生した例って
ございますでしょうか?
またその時の対応方法ってどうされました?
1

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