アップロードの最大許容ファイルサイズを変更しているときに、これら2つの設定につまずきました。
sytem.webには、http runtimeノードと-がありますmaxRequestLength。 system.webServerには、)でrequestLimitsがありますmaxAllowedContentLength。
さて、どちらが他よりも優先されますか?そして、両方を設定する必要がありますか、それとも最後のもの(IIS7用)で十分ですか?
maxRequestLengthはASP.NETでサポートされる最大リクエストサイズを示し、maxAllowedContentLengthはIISでサポートされるリクエストのコンテンツの最大長を指定します。したがって、大きなファイルをアップロードするには両方を設定する必要があります。小さいファイルが「優先」されます。
(私はこれを http://forums.iis.net/t/1169846.aspx から選択しました-期限が来たらクレジットします。)
適切なweb.configファイルを編集して、特定のサイトまたはサイト内のフォルダーの両方にローカルに設定できます。ファイル(要求)の長さがmaxAllowedContentLength未満でmaxRequestLengthを超える場合、ユーザーは標準(ASPX)エラーページを取得します(存在する場合)。逆の場合は、代わりにIISエラーページが表示されます。次に、制限値をmaxRequestLengthにします。
最後に、maxRequestLengthがKBであるのに対し、maxAllowedContentLengthはBYTESであることに注意してください!
短くて甘い答えは、2つのうち小さい方が優先されるということです。アドバイスの言葉-私の意見では、max.RequestLengthを2つのうち小さい方に設定することをお勧めします。これを超えると、Global.asaxのApplication_Errorイベントで例外をキャッチできます。最初にmaxAllowedContentLengthを超えると、IISはASP.NETの代わりにそれを処理するため、コードでの処理が難しくなります。