[C#] Erreur lors de l'ouverture d'un fichier

Erreur lors de l'ouverture d'un fichier [C#] - C#/.NET managed - Programmation

Marsh Posté le 29-10-2010 à 08:34:55    

Bonjour,
 
J'ai un service windows qui a intervalles reguliers (20s) lit un fichier texte sur un serveur, le modifie et le re-ecrit a un autre emplacement.
Ce programme tourne sans probleme sauf qu'au bout d'un moment (plusieurs jours), j'ai une exception qui monte lors de l'acces en lecture au fichier source :
 
System.IO.IOException: Espace insuffisant pour traiter cette commande.
 
Bien evidemment j'ai de la place disque partout et pas franchement de probleme memoire.
Le probleme persiste meme si je redemarre le service et disparait si je redemarre la machine sur laquelle il tourne.
 
Avez-vous deja ete confronte a ce type de probleme ou savez vous exactement a quoi correspond cette exception ?
 
Merci d'avance
 
v.

Reply

Marsh Posté le 29-10-2010 à 08:34:55   

Reply

Marsh Posté le 29-10-2010 à 09:52:45    

C'est forcément un problème de ressources mal libérées.
 
Il y a deux possibilités :
 
1. Mauvaise libération en interne par C#, mais ce serait étonnant car ce programme a été testé et est utilisé par beaucoup d'utilisateurs qui n'ont pas ce problème.
2. Mauvaise libération dans le programme. Mais sans voir le code, il est impossible d'en dire plus.
 
Bon courage !

Reply

Marsh Posté le 29-10-2010 à 11:46:44    

Le code peut etre disponible, j'utilise une bilbiotheque open source qui traite mes fichiers texte (http://filehelpers.sourceforge.net/)
 
L'erreur remonte comme suit :
 
System.IO.IOException: Espace insuffisant pour traiter cette commande.
 
   à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   à System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
   à System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
   à System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
   à System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks)
   à FileHelpers.FileHelperEngine`1.ReadFile(String fileName, Int32 maxRecords)
   à FileHelpers.FileHelperEngine`1.ReadFile(String fileName)
 
Merci pour votre soutien !!!
 
v.


Message édité par vonm le 29-10-2010 à 11:47:03
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed