Mon application ASP.NET permet aux utilisateurs de télécharger et de télécharger des fichiers volumineux. Les deux procédures impliquent la lecture et l'écriture de flux de fichiers. Que dois-je faire pour m'assurer que l'application ne se bloque pas ou ne plante pas lorsqu'elle gère un gros fichier? Les opérations de fichiers doivent-elles être gérées sur un thread de travail par exemple?Lors de la gestion de transferts de fichiers volumineux dans ASP.NET, quelles précautions devez-vous prendre?
Répondre
Assurez-vous de tamponner correctement les fichiers afin qu'ils ne prennent pas une quantité excessive de mémoire dans le système.
par exemple. extrait d'une application de téléchargement, dans la boucle while qui lit le fichier:
// Read the data in buffer.
length = iStream.Read(buffer, 0, bufferSize);
// Write the data to the current output stream.
Response.OutputStream.Write(buffer, 0, length);
Où bufferSize est quelque chose de raisonnable, par exemple 100000 octets, le compromis est qu'il sera plus lent pour les petites tailles de tampon.
http://support.microsoft.com/kb/812406
Edit: Assurez-vous également que IIS est configuré pour prendre un assez grand request length (IIS7) et délai d'attente.
À moins que ce soit l'objectif principal de votre site, envisagez de partitionner ces opérations en une application distincte, par ex. une sous-application ou un sous-domaine. En plus de réduire les risques, cela simplifierait également la mise à l'échelle au fur et à mesure que votre base d'utilisateurs se développerait.
- 1. Quelles précautions devrais-je prendre en utilisant '0' dans PHP comme un nombre?
- 2. ASP.NET MVC Modifier l'en-tête de réponse lors de la gestion de fichiers Javascript/CSS
- 3. Transfert de fichiers volumineux HTTP
- 4. Téléchargement de fichiers volumineux dans WSS v3
- 5. Gestion de la mémoire lors du chargement d'énormes fichiers XML
- 6. Lors de la préparation d'un diagramme de Gantt, quelles sont les choses à prendre en compte?
- 7. Prévention de l'expiration du délai de téléchargement des fichiers volumineux
- 8. préoccupations et questions à prendre en compte dans la conception d'un système de gestion de contenu
- 9. IE7 ayant des problèmes lors de la redirection vers des fichiers Excel volumineux
- 10. Implémentation de la gestion de session propre dans ASP.NET
- 11. Gestion de session FluentNHibernate dans ASP.NET
- 12. Travailler avec Gridviews et les transferts de fichiers
- 13. Google App Engine Téléchargement de fichiers volumineux
- 14. contrôles de gestion de fichiers
- 15. Passage de fichiers volumineux au service WCF
- 16. Modification de fichiers texte volumineux via le Web
- 17. Liste d'erreurs Freaking Out dans VS 2008 lors de fichiers volumineux ASPX
- 18. Erreurs de téléchargement de fichiers volumineux avec PHP
- 19. gestion de session asp.net
- 20. Quelques conseils pour le traitement de fichiers volumineux en Java
- 21. Serveur PHP vers les transferts de serveur
- 22. Pourquoi Lucene provoque-t-il OOM lors de l'indexation de fichiers volumineux?
- 23. Quelle est la meilleure façon d'afficher des fichiers volumineux sans utiliser de grandes quantités de mémoire?
- 24. Pièges de la gestion automatisée des versions de fichiers?
- 25. Outils de gestion de système de fichiers
- 26. Gestion de fichiers VI/VIM
- 27. SQL Server - Exécution de fichiers de script volumineux
- 28. Gestion des retards lors de la récupération de fichiers à partir du serveur distant en PHP
- 29. Fichiers Jar très volumineux et FAT32
- 30. Expression régulière très lente lors de l'utilisation de documents volumineux