2009-08-26 6 views
0

これは境界線のサーバーフォールトの質問かもしれませんが、ここに行きます。web.configがMetaBase.xmlをオーバーライドするのはなぜですか?

私はIIS6を持っています。AspMaxRequestEntityAllowed="204800"はMetBase.xmlにあり、アップロードファイルの制限は200kbですが、web.configの<httpRuntime maxRequestLength="20192"/>では20MBのアップロードが可能で、後者はアプリケーションで許可されています。

なぜweb.configがMetaBase.xmlをオーバーライドするのですか?私にとって、それはhirarchyの誤りのようです。そして、どこのweb.config mishappにGB単位のアップロードを許可したくない場合に備えて、サーバが稼働するマシン全体の最大限度を設定するための「集中化パラメータ」はどこにありますか?

答えて

0

Web.configファイルは、最後のポイントの構成マネージャであり、そのエントリは上位レイヤで作成されたエントリを上書きします。

I.e. machine.configファイル内の設定(すべてのWebサイトに適用可能)はweb.configによって上書きされます(Webサイトのみに適用可能)。

実際には、ルートレベルのweb.configを上書きするフォルダごとに別々のweb.configファイルを作成できます。

これは階層の仕組みです。

+0

"これは階層の仕組みです。"ウェブアプリケーションがサーバを介してアクセスされているかどうかを確認していない場合は、サーバの設定で、その下に置かれているアプリケーションが何をすることができるかを指示する必要があります。特定のサーバーで大量のアップロードを望んでいないサーバー技術者であれば、アプリ開発者がapp-configのサーバー設定を上書きする可能性があります。しかし、多分それは私だけです。私が見ているように、サーバー設定はアプリの設定を上書きします。私は間違っていると思う。しかし、私は両方のシナリオのアドバタイズを見ています。 –

+0

これは正解とマークしていますが、私はMicrosoftの設定継承について調べる必要があります。 :) –

+0

ウェブサイトの所有者である場合、関連する権限がmachine.configに設定されていないため、ウェブサイトの一部が機能しなくなった場合には、すばらしい結果になるでしょう。 これは、論理的に変更可能な設定の場合にのみ有効です。たとえば、所有者が所有していないフォルダのアクセス許可を変更することはできません。 –

0

は私がてMetaBase.xmlを認識していないですが、あなたのマシンでフォルダ内の使用可能なデフォルトのconfigs

Cがあります:\ WINDOWS \ Microsoft.Net \枠組み\ VERSION \ Configを

は、正確な名前申し訳ありません少し異なるかもしれませんが、あなたは簡単に把握できます。ここでは、それぞれ異なるweb。*。configファイルのカップルを見つけることができます。それぞれの設定ファイルで、このプロパティを低いレベルで変更できないようにする方法があります。しかし私はそれをする方法を知らない。

MSドキュメントのhttpRuntimeを読むと、ASP.NET自体によって最大限の制限が4MBに設定されているとのことです。私はweb.configでこの要素を変更するために下位レベルをブロックする方法を見つけようとします。

+0

私はどこかで制限値が4 MBであることを読んだことがあります - 実際に私もそれを経験しました。しかし、webappでは、より大きなファイルが許可されているので、明らかにオーバーライドされていると言いました。私はwebappを書いていないので、私はそれの詳細に精通していない。 –

+0

はい、最低限のポイントweb.configがmachine.configで上位に定義できる変更を行わないようにする方法もあります –

関連する問題