修改Max Request Length时遇HTTP Error 500.19(0x800700b7)求助
Hey there, let's work through this HTTP Error 500.19 (0x800700b7) issue you're hitting with your audio upload feature. That specific error code usually points to duplicate or conflicting configuration entries in your Web.config, or a setting that's locked by your server's parent configuration. Here are actionable steps to fix this:
1. Hunt for duplicate configuration nodes
The error 0x800700b7 translates to "Cannot create a file when that file already exists"—in IIS terms, this means you've defined the same configuration section more than once, or your Web.config is conflicting with inherited settings from machine.config or a parent Web.config.
- For the
maxRequestLengthsetting (under<system.web>):
Search your Web.config for<httpRuntime>entries. If you find more than one, remove the duplicates. If the conflict comes from inherited settings, use<clear/>to reset the section before adding your custom config:<system.web> <httpRuntime> <clear/> <httpRuntime maxRequestLength="1048576" executionTimeout="3600"/> <!-- 1GB limit, adjust as needed --> </httpRuntime> </system.web> - For IIS 7+ (required for large file uploads), you also need
maxAllowedContentLengthin<system.webServer>:
Double-check this section isn't duplicated either. If you run into conflicts here, use the same<clear/>approach:
Note:<system.webServer> <security> <requestFiltering> <clear/> <requestLimits maxAllowedContentLength="1073741824"/> <!-- 1GB in bytes, matches the 1GB above --> </requestFiltering> </security> </system.webServer>maxRequestLengthuses KB, whilemaxAllowedContentLengthuses bytes—make sure these values align to avoid unexpected limits.
2. Check if the configuration section is locked
Sometimes server admins lock certain config sections to prevent overrides. To verify:
- Open IIS Manager, select your site, and go to Configuration Editor in the Features view.
- Navigate to the section you're modifying (e.g.,
system.web/httpRuntimeorsystem.webServer/security/requestFiltering/requestLimits). - Right-click the section and check its Lock Status. If it's locked, you can either:
- Ask your server admin to unlock the section, or
- Wrap your config in a
<location>tag to explicitly allow overrides:<location path="" overrideMode="Allow"> <system.web> <httpRuntime maxRequestLength="1048576" executionTimeout="3600"/> </system.web> </location>
3. Validate your Web.config XML syntax
A tiny XML mistake (like unclosed tags, incorrect nesting, or typos) can trigger this 500.19 error. Use your code editor's XML validation (most IDEs like VS do this automatically) or a simple XML validator to check for syntax issues. For example, make sure <httpRuntime> is nested inside <system.web>, not somewhere else.
4. Confirm your application pool's pipeline mode
If you're using IIS 7 or newer, ensure your application pool is set to Integrated Mode (not Classic Mode). Some modern configuration sections don't play well with Classic Mode. You can adjust this in IIS Manager under Application Pools → Select your pool → Advanced Settings → Managed Pipeline Mode.
Give these steps a try—they should resolve the conflict that's causing the 500.19 error while keeping your large file upload configuration intact.
内容的提问来源于stack exchange,提问作者White Eagle

