Boosting Téléchargez les limites de taille des fichiers dans les applications de base ASP.NET
Dans ASP.NET Core 2.0 et ultérieurement, IIS et le serveur Kestrel imposent des limites à la taille des fichiers téléchargés. Cet article détaille comment surmonter ces restrictions.
Méthode 1: Ajustement limite spécifique à l'action
Pour un contrôle à grain fin, ajustez la limite de téléchargement pour les actions ou contrôleurs MVC individuels à l'aide de l'attribut RequestSizeLimit
. Par exemple, pour définir une limite de 100 Mo pour la méthode MyAction
:
<code class="language-csharp">[HttpPost] [RequestSizeLimit(100_000_000)] public IActionResult MyAction([FromBody] MyViewModel data) { }</code>
Pour supprimer complètement la limite pour une action spécifique, utilisez l'attribut [DisableRequestSizeLimit]
.
Méthode 2: Configuration dynamique basée sur le middleware
Pour les applications non MVC, tirez parti du IHttpMaxRequestBodySizeFeature
pour ajuster dynamiquement la limite. Voici un exemple:
<code class="language-csharp">app.Run(async context => { context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 100_000_000; });</code>
Méthode 3: Modification des limites globales
Pour une solution globale, modifiez la propriété MaxRequestBodySize
dans les rappels de configuration UseKestrel
ou UseHttpSys
. La définition de cette propriété sur null
désactive complètement la limite.
<code class="language-csharp">.UseKestrel(options => { options.Limits.MaxRequestBodySize = null; });</code>
Choisissez la méthode qui convient le mieux à l'architecture et aux exigences de votre application. N'oubliez pas de considérer les implications de sécurité lors de l'augmentation des limites de téléchargement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!