Request オブジェクト エラー ‘ASP 0104 : 80004005’ 操作は許可されません


レガシーASPで作った掲示板アプリを WindowsServer2003+IIS6.0 で駆動させていたら、こんなエラーがでた。
どうやら、ちょっと大きめのファイルを添付すると起きる模様。

Request オブジェクト エラー ‘ASP 0104 : 80004005’
操作は許可されません
/******/******.asp, 行 67

ソースはこんなところでエラーってる。

RBytes=Request.TotalBytes
RBR=Request.BinaryRead(RBytes)

さっそく、ぐーぐる先生に質問してみた。

■[IIS]「Request オブジェクト エラー ‘ASP 0104 : 80004005’ 操作は許可されません」って何者?
http://d.hatena.ne.jp/babydaemons/20080617/1213697100

WindowsServer2003+IIS6.0 の組合せの場合はデフォルトではファイルのアップロードは 200KB が上限となっており、上限を超えた場合、
Request オブジェクト エラー ‘ASP 0104 : 80004005’ 操作は許可されません 」
というエラーが発生してしまう。

だとさ。

先のページではMetaBase.xmlを書き換えるように書いてあるが、IISが動いている最中では書き換えが出来なかった。どうもIISがMetaBase.xmlをオープンしっぱなしらしい。Unixだとvi /etc/hogehoged.confしてkill -HUP `cat /var/run/hogehoged.pid`なのでサービス停止はほんの一瞬なのに。orz

fmfm
MetaBase.xml なるものを書き換えりゃいいわけだ。

↑の人は adsutil.vbs なる管理スクリプトを使用しているが、こちとらIIS止めるのに何の躊躇もねぇ。はい停止。おつかれさん。んで MetaBase.xml はどこにあるってぇ~っと、

C:\WINDOWS\system32\inetsrv

ここだ。開くと・・・・
えれぇたくさんパラメータがあるが、

AspMaxRequestEntityAllowed=”204800″

ここを書き換えろとさ。
さすがに204KBは少なすぎるので、20MBぐらいは許可したろ。
イントラのシステムだから問題ないやろ(うわ、てきと~)。
はい書き換え完了。

テストしたら無事動きましたとさ。
めでたしめでたし。
 
 

ちなみにこういう記事もありました。
Windows2003+IIS6のアップロードの最大値は200KB・・・

Windows 2003+IIS6のデフォルト設定では、アップロードの最大値は 200KBに制限されています。
これを変更するには:
%windir%\system32\inetsrv\MeataBase.xml ファイルのAspMaxRequestEntityAllowedパラメータを変更します。
AspMaxRequestEntityAllowed=”204800″ … デフォルト値は、200KB

しかし、ここで問題が・・・
現在動いているサイトを停止しないといけない・・・
そうしないとIISがこのXMLファイルを握って変更できない・・・

どうにか、止めてもらって、対応はできた・・・
最大値は1073741824Byteらしい・・・

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です