Un pool d'applications au service des processus 'Classic.NET AppPool' a subi une erreur de communication fatale avec le service D'Activation du processus Windows

Je cours un ASP.NET 3.5 application web sur IIS 7 sur Windows Server 2008.

, j'ai reçu l'erreur suivante plus tôt cet après-midi:

HTTP Error 503. The service is unavailable.

J'ai regardé dans les journaux D'événements et j'ai découvert que:

A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '3328'. The data field contains the error number.

Voici les détails de cet événement:

Log Name:      System
Source:        Microsoft-Windows-WAS
Date:          18/09/2009 14:58:31
Event ID:      5011
Task Category: None
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:      computername
Description:
A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '3328'. The data field contains the error number.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-WAS" Guid="{5 .. 0}" EventSourceName="WAS" />
    <EventID Qualifiers="32768">5011</EventID>
    <Version>0</Version>
    <Level>3</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2009-09-18T13:58:31.000Z" />
    <EventRecordID>23552</EventRecordID>
    <Correlation />
    <Execution ProcessID="0" ThreadID="0" />
    <Channel>System</Channel>
    <Computer>computername</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="AppPoolID">Classic .NET AppPool</Data>
    <Data Name="ProcessID">3328</Data>
    <Binary>6D000780</Binary>
  </EventData>
</Event>

Cela a abouti à:

Application pool 'Classic .NET AppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

Voici les détails de cet événement:

Log Name:      System
Source:        Microsoft-Windows-WAS
Date:          18/09/2009 15:03:05
Event ID:      5002
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      computername
Description:
Application pool 'Classic .NET AppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-WAS" Guid="{5 .. 0}" EventSourceName="WAS" />
    <EventID Qualifiers="49152">5002</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2009-09-18T14:03:05.000Z" />
    <EventRecordID>23557</EventRecordID>
    <Correlation />
    <Execution ProcessID="0" ThreadID="0" />
    <Channel>System</Channel>
    <Computer>computername</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="AppPoolID">Classic .NET AppPool</Data>
    <Binary>
    </Binary>
  </EventData>
</Event>

Conclusion dans L'erreur: HTTP 503. Le service n'est pas disponible.

Serait quelqu "un s" il Vous Plaît me aider à identifier comment cela est arrivé et ce que je dois faire pour empêcher que cela se produise à l " avenir.

35
demandé sur MackM 2009-09-18 20:18:45

5 réponses

Celui-ci est assez méchant. Je recommande d'obtenir les outils IIS Debug Diagnostics . Vous pouvez probablement atténuer le symptôme en désactivant "Rapid Fail Protection" dans les propriétés de votre pool d'applications, mais cela masquera simplement le problème. Ce qui se passe, c'est que votre application connaît une exception si souvent/si souvent que le service s'éteint. Vous devrez exécuter l'outil de diagnostic pour capturer tout ce qui entre et sort pour trouver l'exception qui est de se produire.

Cela peut être une tâche très laborieuse car l'outil rassemblera des gigaoctets d'ordure à passer au crible. Si vous avez de la chance, la désactivation de la "protection rapide contre les pannes" pourrait permettre à l'exception de passer au navigateur, mais je suppose que le serveur finira par pendre.

17
répondu Joel Etherton 2010-01-22 03:28:24

Si vous utilisez NServiceBus, assurez-vous que le compte sous lequel le pool d'applications s'exécute dispose des autorisations de lecture de la file d'attente des messages.

NServiceBus exécute une tâche d'arrière-plan au démarrage de l'application qui expire après 10 Secondes, provoquant la mort du processus w3wp s'il ne peut pas lire dans la file d'attente. Après n (par défaut de 5) w3wp se bloque rapide-Fail protection démarre et arrête l'application piscine.

Http://blog.jonathanoliver.com/2010/11/nservicebus-w3wp-exe-processes-crashing/

9
répondu Luke Smith 2013-06-19 16:29:30

C'est probablement causé par une boucle infinie.

(j'ai juste eu le même problème.) Donc, vous aurez juste à chercher des endroits dans le code qui utilisent des boucles et voir si la suppression de l'un d'eux arrête l'erreur. Une fois que vous avez trouvé le coupable, vous pouvez essayer de comprendre ce qui le fait boucler indéfiniment.

8
répondu zasyatkin 2010-03-25 15:05:04

Je viens de traquer et de résoudre le même problème désagréable. Quelques choses qui pourraient causer le problème:

  • Un Serveur.Transfert () boucle
  • Appel De CurrentThread.Abort() dans certains scénarios.. (Comme après un serveur.Transfert ()!)

Réparer ces choses est ce qui l'a réparé pour nous.

3
répondu JerSchneid 2014-01-22 21:37:23

J'ai eu ce problème, l'observateur d'événements avait "le module DLL C:\Windows\system32\RpcProxy\RpcProxy.le chargement de la dll a échoué. Les données sont l'erreur."Ce post avait les étapes pour corriger cela: http://forums.iis.net/t/1154189.aspx

0
répondu campo 2011-06-01 00:18:44