Request.Formのデータサイズの制限について

[上に] [前に] [次に]
GAN 2000/06/01(木) 15:35:47
GANと申します。

どなたかご存知の方がいらっしゃれば教えて頂きたいのですが、
ASPのRequest.Formで渡せるデータのサイズの制限はどれほどなのでしょうか?

100万バイトのデータをRequest.Formで渡したところ、
 「スタックのオーバーフローです」
 「処理されているデータが制限を越えています。」
このようなエラーが発生してしまいました。

DBから取得したレコードそれぞれにチェックボックスを用意し、
その状態(0 or 1)を別の画面にPostで送信したいのです。
レコード数が予想できないため、レコードの数が無限大と想定して
データを送信するようにしたいのですが....。

GAN 2000/06/01(木) 16:08:48
自己レスです。

Request.Formのサイズについて試してみたところ、
102399バイトまではOKで、102400バイト以上ですとエラーが出ました。

これは、仕様であれば仕方のないことですが、
この場合、うまく大量のデータをサブミットする方法はありますか?
出来れば、GET送信以外の方法をさがしています。

2000/06/01(木) 16:12:21
> 出来れば、GET送信以外の方法をさがしています。
一応訊いておくけど、POSTは?

GAN 2000/06/01(木) 16:42:15
> 一応訊いておくけど、POSTは?

私の説明不足でして、申し訳ございませんでした。
POSTは、現在使っている方法です。

test1.aspが次のようにあるとします。
ASPの処理にあるcheck変数に値を入れる方法は、
実際にはデフォルトの値をセットしておき、チェックボックスのonChangeイベントで
変更のあるValue値のみセットしています。

<%  check = "11111111  ....  11111100"  %>
<FORM NAME="test" ACTION="test2.asp" METHOD="Post">
<INPUT TYPE="Hidden" NAME="Check" VALUE="<%= check %>">
</FORM>

上のソースで、test2.aspにサブミットをしています。

<FORM NAME="test" ACTION="test1.asp" METHOD="Post">
<INPUT TYPE="Hidden" NAME="Check" VALUE="<%= Request.Form("Check") %>">
</FORM>

このときに、Checkのデータサイズが大きい場合に問題になっているのです。

チャチャ入れ 2000/06/01(木) 16:52:19
本当に、POSTでの制限なのか、かなり疑わしいですが・・・

IIS+ASPのようなんで、Session変数とかにほうり込むとか。

その前に、そんなに膨大(?)なデータをホンマにやり取りしなきゃ
イケナイのかと言う観点でシステムを考えた方が良いかもね。

[上に] [前に] [次に]