Document IISServerOptions.MaxRequestBodySize and IHttpMaxRequestBodySizeFeature in file upload guide - #37600
Conversation
|
@dotnet-policy-service agree
…On Sun, Sep 6, 2026 at 12:13 AM dotnet-policy-service[bot] < ***@***.***> wrote:
*dotnet-policy-service[bot]* left a comment (dotnet/AspNetCore.Docs#37600)
<#37600 (comment)>
@Skyrunner-Dev-ops <https://github.com/Skyrunner-Dev-ops> please read the
following Contributor License Agreement(CLA). If you agree with the CLA,
please reply with the following information.
@dotnet-policy-service agree [company="{your company}"]
Options:
- (default - no company specified) I have sole ownership of
intellectual property rights to my Submissions and I am not making
Submissions in the course of work for my employer.
@dotnet-policy-service agree
- (when company given) I am making Submissions in the course of work
for my employer (or my employer has intellectual property rights in my
Submissions by contract or applicable law). I have permission from my
employer to make Submissions and enter into this Agreement on behalf of my
employer. By signing below, the defined term “You” includes me and my
employer.
@dotnet-policy-service agree company="Microsoft"
Contributor License Agreement Contribution License Agreement
This Contribution License Agreement ( *“Agreement”* ) is agreed to by the
party signing below ( *“You”* ),
and conveys certain license rights to the .NET Foundation ( *“.NET
Foundation”* ) for Your contributions to
.NET Foundation open source projects. This Agreement is effective as of
the latest signature date below.
*1. Definitions.*
*“Code”* means the computer software code, whether in human-readable or
machine-executable form,
that is delivered by You to .NET Foundation under this Agreement.
*“Project”* means any of the projects owned or managed by .NET Foundation
and offered under a license
approved by the Open Source Initiative (www.opensource.org).
*“Submit”* is the act of uploading, submitting, transmitting, or
distributing code or other content to any
Project, including but not limited to communication on electronic mailing
lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of,
the Project for the purpose of
discussing and improving that Project, but excluding communication that is
conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
*“Submission”* means the Code and any other copyrightable material
Submitted by You, including any
associated comments and documentation.
*2. Your Submission.* You must agree to the terms of this Agreement
before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in
the future (except as
described in Section 4 below), Submit to any Project.
*3. Originality of Work.* You represent that each of Your Submissions is
entirely Your
original work. Should You wish to Submit materials that are not Your
original work,
You may Submit them separately to the Project if You (a) retain all
copyright and
license information that was in the materials as you received them, (b) in
the
description accompanying your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third
party and any
licenses or other restrictions of which You are aware, and (c) follow any
other
instructions in the Project's written guidelines concerning Submissions.
*4. Your Employer.* References to “employer” in this Agreement include
Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor,
vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your
employer has intellectual
property rights in Your Submission by contract or applicable law, You must
secure permission from Your
employer to make the Submission before signing this Agreement. In that
case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change
employers in the future and
desire to Submit additional Submissions for the new employer, then You
agree to sign a new Agreement
and secure permission from the new employer before Submitting those
Submissions.
*5. Licenses.*
*a. Copyright License.* You grant .NET Foundation, and those who receive
the Submission directly
or indirectly from .NET Foundation, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable
license in the Submission to reproduce, prepare derivative works of,
publicly display, publicly perform,
and distribute the Submission and such derivative works, and to sublicense
any or all of the foregoing
rights to third parties.
*b. Patent License.* You grant .NET Foundation, and those who receive the
Submission directly or
indirectly from .NET Foundation, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable license
under Your patent claims that are necessarily infringed by the Submission
or the combination of the
Submission with the Project to which it was Submitted to make, have made,
use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
*c. Other Rights Reserved.* Each party reserves all rights not expressly
granted in this Agreement.
No additional licenses or rights whatsoever (including, without
limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.
*6. Representations and Warranties.* You represent that You are legally
entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your
original work (except as You may
have disclosed under Section 3 ). You represent that You have secured
permission from Your employer to
make the Submission in cases where Your Submission is made in the course
of Your work for Your
employer or Your employer has intellectual property rights in Your
Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You
represent and warrant that You
have the necessary authority to bind the listed employer to the
obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You
choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE
WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6 , THE SUBMISSION PROVIDED UNDER
THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY
WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
*7. Notice to .NET Foundation.* You agree to notify .NET Foundation in
writing of any facts or
circumstances of which You later become aware that would make Your
representations in this
Agreement inaccurate in any respect.
*8. Information about Submissions.* You agree that contributions to
Projects and information about
contributions may be maintained indefinitely and disclosed publicly,
including Your name and other
information that You submit with Your Submission.
*9. Governing Law/Jurisdiction.* This Agreement is governed by the laws
of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal
courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which
case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County,
Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
*10. Entire Agreement/Assignment.* This Agreement is the entire agreement
between the parties, and
supersedes any and all prior agreements, understandings or communications,
written or oral, between
the parties relating to the subject matter hereof. This Agreement may be
assigned by .NET Foundation.
*.NET Foundation dedicates this Contribution License Agreement to the
public domain according to the Creative Commons CC0 1.*
—
Reply to this email directly, view it on GitHub
<#37600?email_source=notifications&email_token=BRCJ4DRRAT6O2SCC3NA43JL5NRNDJA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNJVGM4TOOBRGM22M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-5553978135>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BRCJ4DURDLXHULE4S2WOJ2L5NRNDJAVCNFSNUABEKJSXA33TNF2G64TZHMZDQMRTHE2DKNJ3JFZXG5LFHM2TGNRQGEZTONRRGWQXMAQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
@dotnet-policy-service agree
On Sun, Sep 6, 2026 at 12:24 AM surya pratap singh <
***@***.***> wrote:
… @dotnet-policy-service agree
On Sun, Sep 6, 2026 at 12:13 AM dotnet-policy-service[bot] <
***@***.***> wrote:
> *dotnet-policy-service[bot]* left a comment
> (dotnet/AspNetCore.Docs#37600)
> <#37600 (comment)>
>
> @Skyrunner-Dev-ops <https://github.com/Skyrunner-Dev-ops> please read
> the following Contributor License Agreement(CLA). If you agree with the
> CLA, please reply with the following information.
>
> @dotnet-policy-service agree [company="{your company}"]
>
> Options:
>
> - (default - no company specified) I have sole ownership of
> intellectual property rights to my Submissions and I am not making
> Submissions in the course of work for my employer.
>
> @dotnet-policy-service agree
>
>
> - (when company given) I am making Submissions in the course of work
> for my employer (or my employer has intellectual property rights in my
> Submissions by contract or applicable law). I have permission from my
> employer to make Submissions and enter into this Agreement on behalf of my
> employer. By signing below, the defined term “You” includes me and my
> employer.
>
> @dotnet-policy-service agree company="Microsoft"
>
> Contributor License Agreement Contribution License Agreement
>
> This Contribution License Agreement ( *“Agreement”* ) is agreed to by
> the party signing below ( *“You”* ),
> and conveys certain license rights to the .NET Foundation ( *“.NET
> Foundation”* ) for Your contributions to
> .NET Foundation open source projects. This Agreement is effective as of
> the latest signature date below.
>
> *1. Definitions.*
>
> *“Code”* means the computer software code, whether in human-readable or
> machine-executable form,
> that is delivered by You to .NET Foundation under this Agreement.
>
> *“Project”* means any of the projects owned or managed by .NET
> Foundation and offered under a license
> approved by the Open Source Initiative (www.opensource.org).
>
> *“Submit”* is the act of uploading, submitting, transmitting, or
> distributing code or other content to any
> Project, including but not limited to communication on electronic mailing
> lists, source code control
> systems, and issue tracking systems that are managed by, or on behalf of,
> the Project for the purpose of
> discussing and improving that Project, but excluding communication that
> is conspicuously marked or
> otherwise designated in writing by You as “Not a Submission.”
>
> *“Submission”* means the Code and any other copyrightable material
> Submitted by You, including any
> associated comments and documentation.
>
> *2. Your Submission.* You must agree to the terms of this Agreement
> before making a Submission to any
> Project. This Agreement covers any and all Submissions that You, now or
> in the future (except as
> described in Section 4 below), Submit to any Project.
>
> *3. Originality of Work.* You represent that each of Your Submissions is
> entirely Your
> original work. Should You wish to Submit materials that are not Your
> original work,
> You may Submit them separately to the Project if You (a) retain all
> copyright and
> license information that was in the materials as you received them, (b)
> in the
> description accompanying your Submission, include the phrase "Submission
> containing materials of a third party:" followed by the names of the
> third party and any
> licenses or other restrictions of which You are aware, and (c) follow any
> other
> instructions in the Project's written guidelines concerning Submissions.
>
> *4. Your Employer.* References to “employer” in this Agreement include
> Your employer or anyone else
> for whom You are acting in making Your Submission, e.g. as a contractor,
> vendor, or agent. If Your
> Submission is made in the course of Your work for an employer or Your
> employer has intellectual
> property rights in Your Submission by contract or applicable law, You
> must secure permission from Your
> employer to make the Submission before signing this Agreement. In that
> case, the term “You” in this
> Agreement will refer to You and the employer collectively. If You change
> employers in the future and
> desire to Submit additional Submissions for the new employer, then You
> agree to sign a new Agreement
> and secure permission from the new employer before Submitting those
> Submissions.
>
> *5. Licenses.*
>
> *a. Copyright License.* You grant .NET Foundation, and those who receive
> the Submission directly
> or indirectly from .NET Foundation, a perpetual, worldwide,
> non-exclusive, royalty-free, irrevocable
> license in the Submission to reproduce, prepare derivative works of,
> publicly display, publicly perform,
> and distribute the Submission and such derivative works, and to
> sublicense any or all of the foregoing
> rights to third parties.
>
> *b. Patent License.* You grant .NET Foundation, and those who receive
> the Submission directly or
> indirectly from .NET Foundation, a perpetual, worldwide, non-exclusive,
> royalty-free, irrevocable license
> under Your patent claims that are necessarily infringed by the Submission
> or the combination of the
> Submission with the Project to which it was Submitted to make, have made,
> use, offer to sell, sell and
> import or otherwise dispose of the Submission alone or with the Project.
>
> *c. Other Rights Reserved.* Each party reserves all rights not expressly
> granted in this Agreement.
> No additional licenses or rights whatsoever (including, without
> limitation, any implied licenses) are
> granted by implication, exhaustion, estoppel or otherwise.
>
> *6. Representations and Warranties.* You represent that You are legally
> entitled to grant the above
> licenses. You represent that each of Your Submissions is entirely Your
> original work (except as You may
> have disclosed under Section 3 ). You represent that You have secured
> permission from Your employer to
> make the Submission in cases where Your Submission is made in the course
> of Your work for Your
> employer or Your employer has intellectual property rights in Your
> Submission by contract or applicable
> law. If You are signing this Agreement on behalf of Your employer, You
> represent and warrant that You
> have the necessary authority to bind the listed employer to the
> obligations contained in this Agreement.
> You are not expected to provide support for Your Submission, unless You
> choose to do so. UNLESS
> REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE
> WARRANTIES
> EXPRESSLY STATED IN SECTIONS 3, 4, AND 6 , THE SUBMISSION PROVIDED UNDER
> THIS AGREEMENT IS
> PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY
> WARRANTY OF
> NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
>
> *7. Notice to .NET Foundation.* You agree to notify .NET Foundation in
> writing of any facts or
> circumstances of which You later become aware that would make Your
> representations in this
> Agreement inaccurate in any respect.
>
> *8. Information about Submissions.* You agree that contributions to
> Projects and information about
> contributions may be maintained indefinitely and disclosed publicly,
> including Your name and other
> information that You submit with Your Submission.
>
> *9. Governing Law/Jurisdiction.* This Agreement is governed by the laws
> of the State of Washington, and
> the parties consent to exclusive jurisdiction and venue in the federal
> courts sitting in King County,
> Washington, unless no federal subject matter jurisdiction exists, in
> which case the parties consent to
> exclusive jurisdiction and venue in the Superior Court of King County,
> Washington. The parties waive all
> defenses of lack of personal jurisdiction and forum non-conveniens.
>
> *10. Entire Agreement/Assignment.* This Agreement is the entire
> agreement between the parties, and
> supersedes any and all prior agreements, understandings or
> communications, written or oral, between
> the parties relating to the subject matter hereof. This Agreement may be
> assigned by .NET Foundation.
>
> *.NET Foundation dedicates this Contribution License Agreement to the
> public domain according to the Creative Commons CC0 1.*
>
> —
> Reply to this email directly, view it on GitHub
> <#37600?email_source=notifications&email_token=BRCJ4DRRAT6O2SCC3NA43JL5NRNDJA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNJVGM4TOOBRGM22M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-5553978135>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/BRCJ4DURDLXHULE4S2WOJ2L5NRNDJAVCNFSNUABEKJSXA33TNF2G64TZHMZDQMRTHE2DKNJ3JFZXG5LFHM2TGNRQGEZTONRRGWQXMAQ>
> .
> You are receiving this because you were mentioned.Message ID:
> ***@***.***>
>
|
|
@dotnet-policy-service agree
…On Sun, 6 Sept, 2026, 3:03 am dotnet-policy-service[bot], < ***@***.***> wrote:
*dotnet-policy-service[bot]* left a comment (dotnet/AspNetCore.Docs#37600)
<#37600 (comment)>
@Skyrunner-Dev-ops <https://github.com/Skyrunner-Dev-ops> please read the
following Contributor License Agreement(CLA). If you agree with the CLA,
please reply with the following information.
@dotnet-policy-service agree [company="{your company}"]
Options:
- (default - no company specified) I have sole ownership of
intellectual property rights to my Submissions and I am not making
Submissions in the course of work for my employer.
@dotnet-policy-service agree
- (when company given) I am making Submissions in the course of work
for my employer (or my employer has intellectual property rights in my
Submissions by contract or applicable law). I have permission from my
employer to make Submissions and enter into this Agreement on behalf of my
employer. By signing below, the defined term “You” includes me and my
employer.
@dotnet-policy-service agree company="Microsoft"
Contributor License Agreement Contribution License Agreement
This Contribution License Agreement ( *“Agreement”* ) is agreed to by the
party signing below ( *“You”* ),
and conveys certain license rights to the .NET Foundation ( *“.NET
Foundation”* ) for Your contributions to
.NET Foundation open source projects. This Agreement is effective as of
the latest signature date below.
*1. Definitions.*
*“Code”* means the computer software code, whether in human-readable or
machine-executable form,
that is delivered by You to .NET Foundation under this Agreement.
*“Project”* means any of the projects owned or managed by .NET Foundation
and offered under a license
approved by the Open Source Initiative (www.opensource.org).
*“Submit”* is the act of uploading, submitting, transmitting, or
distributing code or other content to any
Project, including but not limited to communication on electronic mailing
lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of,
the Project for the purpose of
discussing and improving that Project, but excluding communication that is
conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
*“Submission”* means the Code and any other copyrightable material
Submitted by You, including any
associated comments and documentation.
*2. Your Submission.* You must agree to the terms of this Agreement
before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in
the future (except as
described in Section 4 below), Submit to any Project.
*3. Originality of Work.* You represent that each of Your Submissions is
entirely Your
original work. Should You wish to Submit materials that are not Your
original work,
You may Submit them separately to the Project if You (a) retain all
copyright and
license information that was in the materials as you received them, (b) in
the
description accompanying your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third
party and any
licenses or other restrictions of which You are aware, and (c) follow any
other
instructions in the Project's written guidelines concerning Submissions.
*4. Your Employer.* References to “employer” in this Agreement include
Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor,
vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your
employer has intellectual
property rights in Your Submission by contract or applicable law, You must
secure permission from Your
employer to make the Submission before signing this Agreement. In that
case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change
employers in the future and
desire to Submit additional Submissions for the new employer, then You
agree to sign a new Agreement
and secure permission from the new employer before Submitting those
Submissions.
*5. Licenses.*
*a. Copyright License.* You grant .NET Foundation, and those who receive
the Submission directly
or indirectly from .NET Foundation, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable
license in the Submission to reproduce, prepare derivative works of,
publicly display, publicly perform,
and distribute the Submission and such derivative works, and to sublicense
any or all of the foregoing
rights to third parties.
*b. Patent License.* You grant .NET Foundation, and those who receive the
Submission directly or
indirectly from .NET Foundation, a perpetual, worldwide, non-exclusive,
royalty-free, irrevocable license
under Your patent claims that are necessarily infringed by the Submission
or the combination of the
Submission with the Project to which it was Submitted to make, have made,
use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
*c. Other Rights Reserved.* Each party reserves all rights not expressly
granted in this Agreement.
No additional licenses or rights whatsoever (including, without
limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.
*6. Representations and Warranties.* You represent that You are legally
entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your
original work (except as You may
have disclosed under Section 3 ). You represent that You have secured
permission from Your employer to
make the Submission in cases where Your Submission is made in the course
of Your work for Your
employer or Your employer has intellectual property rights in Your
Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You
represent and warrant that You
have the necessary authority to bind the listed employer to the
obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You
choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE
WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6 , THE SUBMISSION PROVIDED UNDER
THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY
WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
*7. Notice to .NET Foundation.* You agree to notify .NET Foundation in
writing of any facts or
circumstances of which You later become aware that would make Your
representations in this
Agreement inaccurate in any respect.
*8. Information about Submissions.* You agree that contributions to
Projects and information about
contributions may be maintained indefinitely and disclosed publicly,
including Your name and other
information that You submit with Your Submission.
*9. Governing Law/Jurisdiction.* This Agreement is governed by the laws
of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal
courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which
case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County,
Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
*10. Entire Agreement/Assignment.* This Agreement is the entire agreement
between the parties, and
supersedes any and all prior agreements, understandings or communications,
written or oral, between
the parties relating to the subject matter hereof. This Agreement may be
assigned by .NET Foundation.
*.NET Foundation dedicates this Contribution License Agreement to the
public domain according to the Creative Commons CC0 1.*
—
Reply to this email directly, view it on GitHub
<#37600?email_source=notifications&email_token=BRCJ4DVFS4SM367Q2VYYBGD5NSBCHA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNJVGQ4TENZZGIZ2M4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-5554927923>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BRCJ4DUZW2FSVLWIBAPD2ZL5NSBCHAVCNFSNUABEKJSXA33TNF2G64TZHMZDQMRTHE2DKNJ3JFZXG5LFHM2TGNRQGEZTONRRGWQXMAQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
0e52a59 to
6416599
Compare
|
@tdykstra to note review request. |
There was a problem hiding this comment.
🟡 Changes recommended
Resolve the compatibility, namespace, IIS-limit wording, feature-state, and metadata issues before approval.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates the ASP.NET Core file upload guide with IIS and per-request request body size limit guidance.
Changes:
- Documents
IISServerOptions.MaxRequestBodySizeand IIS limit interactions. - Adds
IHttpMaxRequestBodySizeFeatureusage guidance. - Adds a request body size limits comparison table.
File summaries
| File | Summary |
|---|---|
aspnetcore/mvc/models/file-uploads.md |
Adds IIS, per-request, and request-size-limit documentation. |
Review details
Suppressed comments (5)
aspnetcore/mvc/models/file-uploads.md:786
- The surrounding content is also visible for ASP.NET Core 5, but
app.MapPoston aWebApplicationis a .NET 6+ minimal-API pattern. This example won't compile for the 5.0 audience; use the middleware/Startup form for 5.0 or restrict the example to>= aspnetcore-6.0.
app.MapPost("/upload", async (HttpContext context) =>
aspnetcore/mvc/models/file-uploads.md:788
- The code sample uses
IHttpMaxRequestBodySizeFeaturewithout importingMicrosoft.AspNetCore.Http.Features. That namespace isn't part of the standard ASP.NET Core implicit usings, so copying thisProgram.csexample produces an unresolved-type compile error unless the reader adds an import.
var maxRequestBodySizeFeature = context.Features.Get<IHttpMaxRequestBodySizeFeature>();
aspnetcore/mvc/models/file-uploads.md:779
- The parenthetical is misleading about what the attribute can replace:
RequestSizeLimitAttributecan override the ASP.NET Core limit for a specific action, but it cannot replace or bypass IIS'smaxAllowedContentLength. The IIS filtering limit must still be raised for a larger upload, so make that requirement explicit.
> When hosted in-process on IIS, both limits apply. If `maxAllowedContentLength` is smaller than `IISServerOptions.MaxRequestBodySize`, IIS rejects requests exceeding `maxAllowedContentLength` before ASP.NET Core processes them. To support larger uploads on IIS, increase both `maxAllowedContentLength` in `web.config` and `IISServerOptions.MaxRequestBodySize` (or apply <xref:Microsoft.AspNetCore.Mvc.RequestSizeLimitAttribute>).
aspnetcore/mvc/models/file-uploads.md:811
- The summary is in the same
>= aspnetcore-5.0block, but this configuration spelling again assumes the .NET 6 minimal-hostingbuilderAPI. For ASP.NET Core 5.0, the table should direct readers toservices.Configure<IISServerOptions>inStartup.ConfigureServices, or this row needs a version-specific moniker.
| `IISServerOptions.MaxRequestBodySize` | ASP.NET Core IIS server | `builder.Services.Configure<IISServerOptions>` | 30,000,000 bytes (~28.6 MB) | Enforced by ASP.NET Core IIS in-process server handler. |
aspnetcore/mvc/models/file-uploads.md:801
IsReadOnlycan also become true when the connection has been upgraded; it doesn't necessarily mean that the request body has already been read. Describe it as indicating that the feature is no longer writable (and include the upgrade case) so this guidance matches the API contract.
* The limit must be configured **before** the app begins reading the request body. If `IsReadOnly` is `true`, the request body has already been read and attempting to set `MaxRequestBodySize` throws an <xref:System.InvalidOperationException>.
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Updated the location for customizing the request body size limit in ASP.NET Core documentation. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Update the date for file uploads documentation.
There was a problem hiding this comment.
🔵 Needs a closer look
Compatibility and documentation issues remain unresolved.
Review details
Suppressed comments (6)
Previously missed (2) — in code that hasn't changed since the last review.
aspnetcore/mvc/models/file-uploads.md:797
- The article's outer
:::monikerstarts at>= aspnetcore-5.0, but this sample usesapp.MapPost, a .NET 6 minimal-API endpoint that isn't available in the ASP.NET Core 5.0 view. Either gate this example at>= aspnetcore-6.0and add a 5.0 alternative, or use the middleware form so the sample works for the enclosing moniker.
aspnetcore/mvc/models/file-uploads.md:779 - The parenthetical makes
RequestSizeLimitAttributesound like an alternative to increasing both IIS limits, but the attribute only overrides the ASP.NET Core limit; IIS still rejects requests abovemaxAllowedContentLengthbefore the action runs, as the later guidance correctly states. Clarify that the IIS limit must be increased and the attribute can replace only the globalIISServerOptionssetting for a specific action or page.
aspnetcore/mvc/models/file-uploads.md:802
- The parenthetical is incomplete: HTTP.sys also exposes this feature over
HttpSysOptions.MaxRequestBodySize, so the current wording incorrectly limits the feature to Kestrel and IIS. Refer to the active ASP.NET Core server limit instead; the IISmaxAllowedContentLengthcaveat can remain specific to IIS.
* Changing `IHttpMaxRequestBodySizeFeature.MaxRequestBodySize` or applying <xref:Microsoft.AspNetCore.Mvc.RequestSizeLimitAttribute> only overrides ASP.NET Core server limits (Kestrel or `IISServerOptions`). It does **not** bypass the IIS module-level `maxAllowedContentLength` limit configured in `web.config`.
aspnetcore/mvc/models/file-uploads.md:812
- These rows are rendered inside the article's
>= aspnetcore-5.0block, butbuilder.Servicesandbuilder.WebHostrefer to the .NET 6 minimal-hosting builder and aren't valid configuration expressions for the ASP.NET Core 5.0 view. Also,KestrelServerOptions.Limits.MaxRequestBodySizeisn't the owning API; useKestrelServerLimits.MaxRequestBodySize. Use the Startup/webBuilder forms here, or gate this table at>= aspnetcore-6.0.
| `IISServerOptions.MaxRequestBodySize` | ASP.NET Core IIS server | `builder.Services.Configure<IISServerOptions>` | 30,000,000 bytes (~28.6 MB) | Enforced by ASP.NET Core IIS in-process server handler. |
| `KestrelServerOptions.Limits.MaxRequestBodySize` | ASP.NET Core Kestrel server | `builder.WebHost.ConfigureKestrel` | 30,000,000 bytes (~28.6 MB) | Enforced by Kestrel server. |
aspnetcore/mvc/models/file-uploads.md:7
- This updated Markdown file is missing the required
ai-usage: ai-assistedmetadata. Add it immediately belowtitleso the front matter records the AI assistance used for this change.
ms.date: 09/15/2026
aspnetcore/mvc/models/file-uploads.md:769
- Link this newly documented API with an xref instead of leaving it as plain code. The older moniker block in this same article already uses
<xref:Microsoft.AspNetCore.Builder.IISServerOptions.MaxRequestBodySize%2A?displayProperty=nameWithType>for the same property.
* **ASP.NET Core IIS server options (`IISServerOptions.MaxRequestBodySize`)**: ASP.NET Core also enforces a default request body size limit of 30,000,000 bytes (~28.6 MB) when hosted in-process. Customize this limit in `Startup.ConfigureServices`:
- Files reviewed: 1/1 changed files
- Comments generated: 0 new
- Review effort level: Lite
Updated moniker boundry to >= 6.0 from 5.0
Co-authored-by: Wade Pickett <wpickett@microsoft.com>
Changing startup to program.cs to match monker versions.
Updated code snippet to use 'builder.Services' for configuring IISServerOptions in ASP.NET Core.
wadepickett
left a comment
There was a problem hiding this comment.
Approved after fixing the stale moniker version and matching the startup pattern for 6.0.
Updated code block formatting for IISServerOptions.MaxRequestBodySize in file-uploads.md.
Clarified the rejection message for requests exceeding IIS limit.
Updated section title for clarity regarding request body size limits.
|
@SkyDevLab, thanks very much for your contribution!! @tdykstra, re-review is needed. I fixed a problem with moniker version/example alignment. |
There was a problem hiding this comment.
🟡 Changes recommended
Several moderate documentation issues remain, including IIS limit guidance and incomplete code-example details.
Get a fresh assessment by requesting another Copilot review.
Review details
Suppressed comments (7)
Previously missed (3) — in code that hasn't changed since the last review.
aspnetcore/mvc/models/file-uploads.md:780
- This alternative is misleading:
RequestSizeLimitAttributeonly overrides the ASP.NET Core server limit and cannot raise IIS'smaxAllowedContentLength. As written, a reader can apply the attribute while leaving the IIS limit at 28.6 MB and still have larger uploads rejected with 404.13. State thatmaxAllowedContentLengthmust be increased, then either configureIISServerOptionsglobally or use the attribute per endpoint.
aspnetcore/mvc/models/file-uploads.md:789 - This code example uses
IHttpMaxRequestBodySizeFeaturewithout importingMicrosoft.AspNetCore.Http.Features. That namespace is not included by the standard ASP.NET Core web implicit usings, so copying the snippet intoProgram.csproduces an unresolved type; add the using directive to the example.
aspnetcore/mvc/models/file-uploads.md:770 - Link the newly introduced API reference instead of leaving it as plain inline code. The same article already uses the API xref for this property in the legacy IIS section, and the xref makes the new option discoverable in the published docs.
aspnetcore/mvc/models/file-uploads.md:8
- The metadata date is one day behind the current review date. Please use today's date for
ms.date.
ms.date: 09/15/2026
aspnetcore/mvc/models/file-uploads.md:807
- This table is presented as a summary of the request-body limits, but it omits
FormOptions.MultipartBodyLengthLimit, which is documented just above as a separate 128 MB default that can reject multipart uploads independently of the server request-body limits. Add that mechanism to the table so readers troubleshooting upload-size failures don't miss the form parser limit.
The following table summarizes the request body size limit mechanisms in ASP.NET Core:
aspnetcore/mvc/models/file-uploads.md:801
nullonly removes the server's request-body limit. Multipart file binding still appliesFormOptions.MultipartBodyLengthLimit(134,217,728 bytes by default, documented above), so the current "unlimited" wording can lead users to expect an unlimited file upload. Qualify this bullet and point to that separate limit.
* Setting `MaxRequestBodySize` to `null` disables the ASP.NET Core server-side limit for that request.
aspnetcore/mvc/models/file-uploads.md:813
KestrelServerOptions.Limits.MaxRequestBodySizeis a configuration path, not the owning API type; the property is onKestrelServerLimits. Using the current dotted name as the mechanism makes the summary point readers to an API that doesn't exist in that form. Use the owning API name, as documented inaspnetcore/fundamentals/servers/kestrel/options.md:44-58.
| `KestrelServerOptions.Limits.MaxRequestBodySize` | ASP.NET Core Kestrel server | `builder.WebHost.ConfigureKestrel` | 30,000,000 bytes (~28.6 MB) | Enforced by Kestrel server. |
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
| :::moniker-end | ||
|
|
||
| :::moniker range=">= aspnetcore-3.0 < aspnetcore-5.0" | ||
| :::moniker range=">= aspnetcore-3.0 < aspnetcore-6.0" |
… uploads (#36039)
Fixes #36039
Description
The file upload documentation (
aspnetcore/mvc/models/file-uploads.md) previously explained Kestrel request size limits and IISmaxAllowedContentLengthinweb.config, but was missing guidance onIISServerOptions.MaxRequestBodySizefor IIS in-process hosting as well as per-request dynamic body size configuration viaIHttpMaxRequestBodySizeFeature.This PR improves the "Server and app configuration" section by:
IISServerOptions.MaxRequestBodySizealongsidemaxAllowedContentLengthand explaining how both limits interact when hosted in-process on IIS.IHttpMaxRequestBodySizeFeaturewith a C# example for per-request request body size limits (including setting the limit tonulland checkingIsReadOnly).maxAllowedContentLength,IISServerOptions.MaxRequestBodySize,KestrelServerOptions.Limits.MaxRequestBodySize,RequestSizeLimitAttribute, andIHttpMaxRequestBodySizeFeature).Changes
### IISinaspnetcore/mvc/models/file-uploads.mdto documentIISServerOptions.MaxRequestBodySizeand explain dual IIS/ASP.NET Core limit enforcement.### Per-request request body size configurationinaspnetcore/mvc/models/file-uploads.mdshowing how to useIHttpMaxRequestBodySizeFeature.### Request body size limits summaryinaspnetcore/mvc/models/file-uploads.mdcontaining a comparison table for request size limit mechanisms.Internal previews
Build report