最大アップロードサイズが100MBのASP.NETMVC3Webアプリケーション(自分で作成したものではありません)を使用しています。これで、このWebアプリケーションは顧客のサーバーマシンにインストールされるので、この値の最大アップロードサイズが顧客ごとに構成可能であると便利です。必要に応じて、Webアプリケーションのweb.configを編集するためのアクセス権があります。
これで、web.configに次のような値があります。
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>
また、似ているように見える別の値がここにあります。
<system.web>
<httpRuntime maxRequestLength="104857600" executionTimeout="360" />
</system.web>
その104857600バイトは、100MBのファイルアップロード制限のようです。ただし、値を変更すると、これは信頼できる値ではなく、新しい制限に準拠していないことがわかりました。したがって、さらに掘り下げた後、C#コードのどこかにハードコードされた値がpublic const double MaxContentSize = 104857600
あり、別のC#メソッドがその値を使用してAjaxファイルのアップロードを受け入れる/拒否していることがわかりました。
したがって、私がやりたいと思うのは、コード内のハードコードされた番号を置き換えて、web.configの値から読み取るようにすることです。そうすれば、少なくとも誰でもWebサイトを展開するときにweb.configでその値を変更できます。
あなたはこのようなことをすることができますか?
MaxContentSize = ConfigurationManager.systemWeb.httpRuntime['maxRequestLength'];
web.configでappSettingsを使用した例をいくつか見てきました。
<appSettings><add key="MySetting" value="104857600" /></appSettings>
次に、次のようにアクセスします。
ConfigurationManager.AppSettings["MySetting"]
しかし、それはそこにカスタム値を追加することを意味し、web.configでそれを変更するための3つの場所があります。誰かがそれを適切に行う方法を知っていますか?
どうもありがとう