- 締切済み
片フレームで実行中だと、うまく処理されない。
<FRAMESET ・・・> <FRAME SRC="XXX.HTML" ・・・> <FRAME SRC="READ.ASP" ・・・> <FRAME SRC="UPDATE.ASP" ・・・> </FRAMESET> 上のような3フレーム構成で、 "UPDATE.ASP"ではA.TXTの更新処理(1分ほどかかります)を、 "READ.ASP"では5秒間隔に"XXX.HTML"よりコールされ、 A.TXTの行数(更新状況)を表示しています。 しかしこれを実行してみると、"READ.ASP"のレスポンスが返ってきません。 (ずっと実行されているような状況です) "UPDATE.ASP"で処理がサーバーが重たくなってしまう(ビジー状態になってしまう)ため、 レスポンスが返ってこないのかな?とも考えたのですが、 "UPDATE.ASP"を単体で実行しても、多少のCPU負荷率がかかる程度で、 ビジー状態にはなりません。 もしかしたら、フレーム分割で複数の画面でASPスクリプトを同時に やってしまうことに原因があるのでしょうか? 何かわかることありましたら、アドバイスお願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- nama11
- ベストアンサー率66% (2/3)
FRAMESETする前に session("filename1") = filename1 session("filename2") = filename2 見たいな session変数 を使用すればいいと思います(両方のASPに必要な分)。 受けるASPで filename1= session("filename1") filename2= session("filename2") と受けられます。
- Bonjin
- ベストアンサー率43% (418/971)
>"UPDATE.ASP"ではA.TXTの更新処理(1分ほどかかります)を、 >"READ.ASP"では~(中略)~A.TXTの行数(更新状況)を表示しています。 と >UPDATE.ASPとREAD.ASPで読み書きしているファイルは別です。 が矛盾しているんですが、実際は後者でよろしいんですか? そもそもREAD.ASPを単体で(フレーム無しで)表示させた時はちゃんとレスポンスが返ってくるんでしょうか?
補足
説明に誤りがあって大変申し訳ありません。 実際には後者が正解で、READ.ASPとUPDATE.ASPでは別ファイルを読み書きしています。 (READ.ASPではA.TXTを読み込み、UPDATE.ASPではB.TXTを更新) その後、私の方でも色々とテストをしたところ、 READ.ASPとUPDATE.ASPを別アプリケーション(/APP1/READ.ASP、/APP2/UPDATE.ASP)に したところ、READ.ASPが待ち状態にならずに正常に動作しました。 しかし、残念ながらこの方法では使用できません。 (顧客先の都合とかで) >そもそもREAD.ASPを単体で(フレーム無しで)表示させた時はちゃんとレスポンスが返ってくるんでしょうか? はい、レスポンスは正常に返されます。 どうぞ、宜しくお願いします。
- Bonjin
- ベストアンサー率43% (418/971)
UPDATE.ASPでのファイルのロックに問題があるのでは?READ.ASPでロックの解除待ちになっているとか・・・ ロックの解除待ちが原因ならばUPDATE.ASPでの処理が終わればレスポンスが返ってくるはずです。 とりあえず、READ.ASPにデバッグ出力を入れるなりしてどこで止まっているのか確認してみてはいかがですか?
補足
アドバイスありがとうございます。 また説明不足になってしまいましたが、UPDATE.ASPとREAD.ASPで 読み書きしているファイルは別です。 READ.ASPの先頭行にデバッグ文をいれてみたのですが、 表示も何もありませんでした。 おそらく実行待ち状態になっているのかと思われます。 また何かお気づきの点ありましたら、宜しくお願いします。
- osamuy
- ベストアンサー率42% (1231/2878)
UPDATE.ASPによりデータベースにロックがかかって、READ.ASPが待たされているのでは。 データベースのセッションをトレースしてみては。 データベースを利用しているのならですが。
補足
UPDATE.ASPでは、ファイルの更新のみで DBは使用していません。 説明不足ですみませんでした。
補足
アドバイス頂き誠にありがとうございます。 せっかくのアドバイス、私の技術不足で申し訳ないのですが、 この方法でレスポンスが返ってくるようになるのでしょうか? ご教授いただきました方法で、 filename1にはREAD.ASPで読み込むファイル名、 filename2にはUPDATE.ASPで更新するファイル名をセットしたのですが、 やはりUPDATE.ASPからレスポンスは返されませんでした。 もしかして、私の方法に誤りがあったのでしょうか? お手数ですが、ご教授のほど宜しくお願い致します。