2016-04-01 1 views
1

Nous avons rencontré cette exception aujourd'hui ne cessait de répéter chaque fois que nous retenté l'action faisantIOException écriture à l'événement journal

System.IO.IOException: Insufficient system resources exist to complete the requested service. 

    at Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str) 
    at Microsoft.Win32.RegistryKey.SetValue(String name, Object value, RegistryValueKind valueKind) 
    at System.Diagnostics.EventLog.CreateEventSource(EventSourceCreationData sourceData) 
    at System.Diagnostics.EventLog.VerifyAndCreateSource(String sourceName, String currentMachineName) 
    at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData) 
    at System.Diagnostics.EventLog.WriteEntry(String source, String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte[] rawData) 
    at System.Diagnostics.EventLog.WriteEntry(String source, String message) 
    at DoWork() 

Un redémarrage résolu ce problème pour nous, mais n'explique pas la cause racine. En règle générale, nous écrivons une source de moins de 20 caractères et un message de moins de 100. L'utilisation des ressources semble correcte sur la machine exécutant le code.

Répondre

1

J'ai creusé un peu plus loin après le redémarrage et j'ai obtenu une copie du journal d'application de l'observateur d'événements. Il y avait environ 66 000 événements pour ce jour seulement. J'ai écrit une application de test pour écrire 66 000 messages uniques dans le journal et cela s'est terminé assez rapidement.

Ensuite, j'ai remarqué que nous avions une source différente pour chaque dizaine de messages, j'ai donc changé mon application de test pour écrire une source unique et un message à chaque fois. Après environ 15 minutes, il a seulement écrit 6000.

Bien que je n'étais pas capable de reproduire l'exception dans la question, je crois que notre problème était que nous étions en train de créer de nouvelles EventSources inutilement et souvent ce qui va à l'encontre de la manière recommandée d'écrire. journal des événements.

En tant qu'addendum, si les sources existaient déjà, ce ne serait pas un problème aussi important.