CONQUIER LIMITS DE TAILLE DE TÉLÉPLACTION DE FILE dans ASP.NET CORE
Les applications ASP.NET Core MVC rencontrent souvent des restrictions de taille de fichier frustrantes. Cet article fournit des solutions pour gérer les téléchargements de fichiers illimités en abordant les limitations du serveur Kestrel.
Demande de Kestrel Limites de taille corporelle
Kestrel, le serveur Web dans ASP.NET Core 2.0 et ultérieurement, impose des limites par défaut sur la taille du corps de la demande. Pour s'adapter aux fichiers plus grands, des ajustements de configuration sont nécessaires.
approche MVC: contrôle basé sur l'attribut
L'attribut [RequestSizeLimit]
offre un contrôle granulaire sur les limites de taille de fichier pour des actions ou des contrôleurs spécifiques. Par exemple, cela permet à la méthode MyAction
de gérer les demandes jusqu'à 100 Mo:
<code class="language-csharp">[HttpPost] [RequestSizeLimit(100_000_000)] public IActionResult MyAction([FromBody] MyViewModel data) { }</code>
Pour supprimer les restrictions de taille entièrement pour une action ou un contrôleur spécifique, utilisez [DisableRequestSizeLimit]
. Cela revient au comportement avant ASP.net Core 2.0.
Approche du middleware: Contrôle par la demande
Pour les demandes non-MVC, le IHttpMaxRequestBodySizeFeature
permet les ajustements de taille par la demande:
<code class="language-csharp">app.Run(async context => { context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 100_000_000; });</code>
N'oubliez pas: les modifications ne sont possibles que si le corps de la demande n'a pas été lu. Vérifiez la propriété IsReadOnly
avant d'apporter des modifications.
Configuration globale: contrôle à l'échelle du serveur
pour ajuster à l'échelle mondiale la taille du corps de demande maximale, modifiez la propriété MaxRequestBodySize
dans les options UseKestrel
ou UseHttpSys
:
<code class="language-csharp">.UseKestrel(options => { options.Limits.MaxRequestBodySize = null; // Removes the limit })</code>
ou
<code class="language-csharp">.UseHttpSys(options => { options.MaxRequestBodySize = 100_000_000; })</code>
En implémentant ces configurations, vous pouvez éliminer efficacement les limitations de la taille des fichiers dans vos applications Core ASP.NET, permettant le traitement de téléchargements arbitrairement grands.
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!