2008-12-16 8 views
2

J'ai le scénario suivant: 1. Le côté de l'interface utilisateur .NET utilise Logging App Block pour écrire dans un fichier plat 2. Un service Windows non géré utilise un enregistreur propriétaire pour écrire le même fichier que 1.Plusieurs clients écrivant dans un seul fichier à l'aide du bloc d'application de journalisation

Question: Est-il possible d'activer FlatFile TraceListener pour fermer son gestionnaire de fichiers une fois que l'entrée est enregistrée afin que le service Windows puisse également écrire dans le fichier?

Merci!

Mise à jour: J'ai inclus Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Writer.Dispose(); et cela ferme le flux, donc cela ferait l'affaire - juste curieux s'il y a une autre façon de le faire.

Update2: Notes finales

p & P propose d'écrire à un seul MSMQ de multiples applications. De cette façon, vous n'aurez pas besoin d'appeler Dispose(), etc.

Répondre

0

Je pense que votre choix est la meilleure façon de prendre soin d'elle - il suffit de disposer de l'écrivain après que vous avez terminé, ce qui devrait finaliser et libérer tous des ressources que l'écrivain détient toujours.

Aussi, je serais inquiet à la fois le traitement en essayant d'écrire en même temps et il provoque une exception, mais peut-être le bloc App a un code de contournement pour cette construction.

2

J'ai dû gérer cela en utilisant log4net. Je n'étais pas du tout capable d'utiliser le support de journalisation des fichiers de la structure de journalisation, et j'ai dû lancer mon propre appendeur de journal qui intercepte les violations de partage. À ce stade, vous avez le choix de mettre en mémoire tampon les événements en mémoire et de les écrire ultérieurement ou de les bloquer jusqu'à ce que vous puissiez accéder au fichier.

0

D'où obtenez-vous le .Dispose? Je tape dans EnterpriseLibrary.Logging.Logger.Writer mais le .Writer comme aucune méthode ou propriété, pas .Dispose.

Merci,

TCW

Je l'ai trouvé:

importation Microsoft.Practices.EntLib.Common fait l'affaire.

Questions connexes