Numéro d'article: 823409 - Dernière mise à jour: mardi 25 octobre 2005 - Version: 4.5

CORRECTIF : téléchargement des fichiers de grande taille entraîne une perte de mémoire volumineux et provoque la procédure afin de vider l'aspnet_wp.exe

A noterCet article s'applique à un système d'exploitation différent de celui que vous utilisez. Le contenu de l'article qui ne vous concerne peut-être pas est désactivé.
Pour une version de Microsoft .NET Framework 1.0 de cet article, voir 821387  (http://support.microsoft.com/kb/821387/ ) .
Agrandir tout | Réduire tout

Symptômes

Lorsque vous utilisez la méthode Response.BinaryWrite pour télécharger des fichiers qui sont 400 Mo ou plus depuis une page ASP.NET, le Aspnet_wp.exe processus peut recycler. Vous pouvez voir l'événement suivant est enregistré dans le journal application de l'Observateur d'événements :

Type d'événement : Erreur

Source de l'événement : ASP.NET 1.1.4322.573

Catégorie d'événement : aucune

L'ID d'événement : 1000

Date: 5/16/2002

Heure : 11 : 01 : 11 AM

Utilisateur: n / A

Ordinateur : ComputerName

Description : Aspnet_wp.exe (PID: 9999) arrêté de façon inattendue.

Cause

Dans ce scénario, les éléments suivants se produisent :
  1. Le code entraîne généralement l'affichage de la boîte de téléchargement s'affichent.
  2. Le processus Inetinfo.exe s'arrête commence à largement épuiser mémoire.
  3. octets privés dans Inetinfo.exe augmenter jusqu'à l'exécution de la mémoire virtuelle.
  4. Lorsque vous exécutez plus de mémoire virtuelle, vous rencontrez un recyclage inattendu du processus Aspnet_wp.exe. (les octets privés dans Aspnet_wp.exe ne sont pas affectés. Le nombre d'aspnet_wp.exe octets privés considérablement n'augmente pas.)
  5. Inetinfo.exe ne libère pas la mémoire jusqu'à ce que le téléchargement soit terminée ou annulée.
note Si vous effectuez des téléchargements simultanées, vous pouvez composé le problème.

Résolution

important Ce correctif contient deux types de packages : un package Microsoft Windows Installer et un package Gestionnaire de composants optionnels (OCM). Si votre ordinateur exécute le système d'exploitation Microsoft Windows Server 2003, vous devez spécifier le 2003 de Windows Server (OCM) mettre à jour car la protection des fichiers Windows Server 2003 surveille les fichiers de .NET Framework 1.1. Si votre ordinateur exécute un système d'exploitation autres que Windows Server 2003, vous devez continuer à utiliser le package Windows Installer.

Un correctif est désormais disponible auprès de Microsoft, mais il ne vise qu'à corriger le problème décrit dans cet article. Uniquement l'appliquer à des systèmes rencontrant ce problème spécifique. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n'êtes pas gravement touché par ce problème, nous vous recommandons d'attendre le pack de service suivant .NET Framework 1.1 qui comprendra ce correctif.

Pour résoudre ce problème immédiatement, contactez services de support technique Microsoft afin d'obtenir le correctif logiciel. Pour une liste complète des numéros de téléphone des services de support technique Microsoft et des informations sur les frais de support technique, reportez-vous au site de Web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
note Dans certains cas, les frais aucuns de support peuvent être facturés si un technicien du support technique Microsoft détermine qu'une mise à jour spécifique peut résoudre votre problème. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes non traités par la mise à jour en question.

La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont exprimées en coordinated universal temps (UTC). Lorsque vous affichez les informations de fichier, il est convertie en heure locale. Pour connaître le décalage entre l'heure UTC et l'heure locale, utilisez l'onglet Fuseau horaire dans l'outil Date et heure du Panneau de configuration.
   Date         Time   Version       Size       File name
   ------------------------------------------------------------------------
   01-Aug-2003  19:47  1.1.4322.930    253,952  Aspnet_isapi.dll
   01-Aug-2003  19:47  1.1.4322.930     20,480  Aspnet_regiis.exe
   01-Aug-2003  19:47  1.1.4322.930     32,768  Aspnet_wp.exe
   16-May-2003  01:49                   33,522  Installpersistsqlstate.sql
   16-May-2003  01:49                   34,150  Installsqlstate.sql
   01-Aug-2003  19:38  1.1.4322.930     94,208  Perfcounter.dll
   02-Aug-2003  08:54  1.1.4322.930  1,216,512  System.dll
   02-Aug-2003  08:54  1.1.4322.930    323,584  System.runtime.remoting.dll
   02-Aug-2003  08:55  1.1.4322.930  1,253,376  System.web.dll
   02-Aug-2003  08:55  1.1.4322.930    819,200  System.web.mobile.dll
   02-Aug-2003  08:55  1.1.4322.930    569,344  System.web.services.dll
   02-Aug-2003  08:55  1.1.4322.930  1,335,296  System.xml.dll
   01-Aug-2003  19:42                   14,472  Webuivalidation.js

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Ce correctif ajoute une fonction plue à l'objet Response ( Response.TransmitFile ). Vous pouvez utiliser la fonction au lieu de la fonction BinaryWrite ou à la place des autres fonctions envoyer des fichiers vers le client. En outre, cette fonction peut utilisée quel que soit la taille du fichier que vous voulez transmettre. Pour tester cette nouvelle fonctionnalité, collez le code suivant dans une page ASPX vide après avoir téléchargé et installé le correctif. Vous devez modifiez la ligne « c:\\repro\\z.zip » dans le code afin de refléter un chemin d'accès et un fichier ZIP qui existent sur un ordinateur.
<script runat=server language=C#>
    void Page_Load() {
        Response.ContentType="application/x-zip-compressed";
        Response.AddHeader("Content-Disposition", "attachment;filename=z.zip");
        Response.TransmitFile("c:\\repro\\z.zip");
    } 
</script>

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Studio .NET 2003 Professional
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
Mots-clés : 
kbmt kbhotfixserver kbqfe kbnetframe100presp3fix kbqfe kbfix kbcodesnippet kbbug KB823409 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 823409  (http://support.microsoft.com/kb/823409/en-us/ )
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.