出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

表示の乱れ   チヒロさん [2001/10/31 15:19:18] [878]
  Re:表示の乱れ   Tomitomiさん [2001/10/31 15:39:28] [883]
    Re:表示の乱れ   チヒロさん [2001/10/31 16:42:28] [890]
      Re:表示の乱れ   北岳さん [2001/11/01 9:20:08] [893]
        Re:表示の乱れ   北岳さん [2001/11/01 13:09:44] [896]
          Re:表示の乱れ   チヒロさん [2001/11/01 23:23:36] [902]
            訂正と疑問   北岳さん [2001/11/05 12:06:15] [909]

[878] 表示の乱れ
投稿者:チヒロさん 2001/10/31 15:19:18
はじめまして。

ASPで開発したモジュールの不具合に関し、相談させていただきます。

症状

Response.Writeメソッドで作成した文字列が途中で終了してしまう。


ADOを利用してデータベースにアクセスし、テーブルタグを使用して表を作成しています。
が、上記のような症状のため、表示が乱れてしまいます。

ブラウザからソースを確認すると、ソースの途中でResponse.Writeで出力した文字列が
途切れて最後の終了タグ(Responseオブジェクトを使用せず、直接</HTML>と書いてます)
までいく場合もあり、またソースが途中で完全に終わってしまっている場合もあります。

該当する症状は毎回起きるわけではないのでコーディングの問題ではないと考えています。
IE更新ボタンまたはF5キーで再読み込みした場合は、該当する症状は再現しませんが、
Submitで該当画面に遷移した場合には再現することがあります。

また、症状は開発環境ではまったく再現しませんが、本番環境では再現し、
クライアントが低スペックなマシンほど再現する割合が高いように見えます。
おかしなことにサーバマシンで該当画面を開く場合は、症状はまったく再現しません。

Response.Buffer=True でバッファリングを行い、文字列を一括出力する等の対策は
とってみましたが、改善しません。

現在、手詰まり状態でどのような対策をとればいいか、考えあぐねています。
対策をご存知の方がいましたら、ご教授いただけるようお願いいたします。

環境
サーバ
OS NT4.0(SP6)
IIS 5.0
DB Oracle8 Enterprise Edition Release 8.0.5

よろしくお願いします。

[883] Re:表示の乱れ
投稿者:Tomitomiさん 2001/10/31 15:39:28
こんにちわ、Tomitomiです。
今日も暑いです。


> Response.Writeメソッドで作成した文字列が途中で終了してしまう。


は、経験ない(あったような気もする)のですが、
で、気になるのは、


> クライアントが低スペックなマシンほど再現する割合が高いように見えます。

ここです。
低スペックなのでクライアントはWindows95 or 98と勝手に思ってますが、
リソースの問題とか考えられませんか?
WindowsNT or 2000はリソースは無制限で、Windows95 or 98は制限があったと思います。


私も、前のプロジェクトにて、コンボボックス類(リストボックスも含む)を、
100個ぐらい表示するプログラムがあったのですが、
このコンボボックス類は、うる覚えですが、コンボボックスひとつに対して、
リソースをいくらかつかい、画面上にたくさん表示した場合はリソースがパンクし固まったりします。
たしか、共同開発の会社の方が、Microsoftのホームページで見つけました。


[IE4]<SELECT> タグを多用した Web ページを完全に表示できない件
http://www.microsoft.com/JAPAN/support/kb/articles/J045/0/54.htm


このバグ?はVBでもいっしょだそうです。


また、僕の経験したIISのバグ?では、直接IISのサーバを編集したりするのと、
ファイルを上書きするのはOKですが、ASPの入ったディレクトリを丸ごと、
上書きしたりすると、IISの多分キャッシュの関係だと思うのですが、IISが壊れます。
これは、いろいろ試しましたが、IISの再インストールしか方法がありませんでした。
*FTPでアップする分には大丈夫らしい。。


> 環境
> サーバ
> OS NT4.0(SP6)
> IIS 5.0
> DB Oracle8 Enterprise Edition Release 8.0.5


いらぬつっこみですが、NT4.0ならIIS4.0では?

[890] Re:表示の乱れ
投稿者:チヒロさん 2001/10/31 16:42:28
Tomitomiさん、返信ありがとうございます。
暑いですね。昨日まで出張で山のほうにいたのでなおさらそう思います。

> [IE4]<SELECT> タグを多用した Web ページを完全に表示できない件
> http://www.microsoft.com/JAPAN/support/kb/articles/J045/0/54.htm

ご指摘の<SELECT>タグですが、該当画面では二箇所で使用してます。
が、<OPTION>要素はそれぞれ2つと3つでして、リソースに抵触するほど負荷はかけていない
と思っています。

いろいろ調べてみましたが、まだ手詰まり状態です。IISを入れなおせば、うまくいくような
気もしますが……。(なにか変なプロパティを設定してしまったのか?)

いろいろ教えてくださってありがとうございます。

それでは。

> いらぬつっこみですが、NT4.0ならIIS4.0では?

そのとおりです。ごめんなさい、書き間違い

[893] Re:表示の乱れ
投稿者:北岳さん 2001/11/01 9:20:08
> > http://www.microsoft.com/JAPAN/support/kb/articles/J045/0/54.htm
より引用。
-----------------
Internet Explorer 4.0 に限らず、Windows 上で動作するアプリケーションがリスト ボックスを表示する場合は、システムの USER リソースを使用します。多数のリスト ボックスを表示させるには、それだけ USER リソースが必要となりますが、Windows 95 および Windows 98 では、この USER リソースには 64 KB という制限があります。そのため、USER リソースの制限に近づくと、Web ページが正しく表示されなくなったり、リソース不足のメッセージが表示されたりする問題が発生します。

なお、Windows NT 4.0 の USER リソースはほぼ無制限なので、このような現象は発生しません。
----------------
やはりこれが怪しいような・・・
途中でページがチョン切られるマシンは、ブラウザ以外にも電子メール(特にoutlookは怪しい)やらEXCELやらテトリス(ゲーム)やら、じゃんじゃん立ち上げていた、ということではないでしょうか。

[896] Re:表示の乱れ
投稿者:北岳さん 2001/11/01 13:09:44
あと、低スペックマシンの config.sys
http://www.geocities.co.jp/SiliconValley-PaloAlto/2099/config.html
のBUFFERS、STACKSなどもチェックされては?
 
一応64Kが足りなくなる要因として、ASP側では、for〜nextのネストの深すぎ、大きなfor〜nextの中からサブルーチンを呼んでいる、などの可能性も。

[902] Re:表示の乱れ
投稿者:チヒロさん 2001/11/01 23:23:36
Tomitomiさん、北岳さんさん、返信ありがとうございます。

客先に行きまして、サーバ設定も含め再チェックすることになりました。
これでうまくいかなかったら、運用で対応という手もありかな、と思います。
(F5、更新ボタンで再読み込みの場合は100%正常表示ですから)

> あと、低スペックマシンの config.sys
> http://www.geocities.co.jp/SiliconValley-PaloAlto/2099/config.html
> のBUFFERS、STACKSなどもチェックされては?

ご指摘の点はチェックさせていただきます。めもめも
あと、表示の乱れは起動したての中程度のスペックのマシンでも再現しました。

> 一応64Kが足りなくなる要因として、ASP側では、for〜nextのネストの深すぎ、大きなfor〜nextの中からサブルーチンを呼んでいる、などの可能性も。

処理の乱れる画面で気になる処理としては、Do〜Untilループ中で特定のコードがブレイクするタイミングでカウントを取得するSQLを発行しているところ。

ループの中でサブルーチンを呼び出す処理は表示の乱れる画面では行ってません。
他画面で大きなDo〜Until中からサブルーチンを呼び出す処理を行っていますが、
その画面では問題は起きていません。Hiddenを多用したり、処理としてはそちらのほうが重そうなのですけれども。

いろいろ相談に乗っていただき、ありがとうございます。
結果が出たら、こちらで報告させていただきます。

それでは。

[909] 訂正と疑問
投稿者:北岳さん 2001/11/05 12:06:15
[訂正]
>一応64Kが足りなくなる要因として、ASP側では、for〜nextのネストの深すぎ、大きなfor〜nextの中からサブルーチンを呼んでいる、などの可能性も。
 
スタック領域の逼迫と思いましたが、考えてみましたらそれはサーバ側のお話で、クライアントのマシンの仕様とは無関係でした。
明らかな的外れでした。失礼しました。
 
[疑問]
>(F5、更新ボタンで再読み込みの場合は100%正常表示ですから)
 
クライアントの64KがWIN95のスタック変数領域のこととして、
ブラウザ閲覧中に足りなくなる要因が、具体的には何があるかは、存じません。
(調べたものの回答が見つかりませんでしたが、)再読み込みしてもスタック領域はクリアされず、むしろ却って消費しそうな感じがするので、どうも判りません。



TreeBBS For ASP V.0.1.3
Program By YasNet