8
votes

Comment puis-je activer la journalisation de la WCF afin qu'elle écrive à une base de données?

J'aimerais pouvoir enregistrer des informations de message dans une base de données et j'essaie de décider de la meilleure façon de le faire. Est-il possible de configurer les mécanismes de journalisation de la WCF pour écrire dans une base de données au lieu d'un fichier? Merci.


3 Réponses :


-1
votes

Vous pouvez utiliser log4net


0 commentaires

9
votes

Vous devez avoir deux choses:

  • une configuration appropriée pour activer .NET TRACING
  • Un auditeur de trace pour capturer les messages de trace et les stocker dans une base de données

    pour # 1 :
    Vous devez activer la traçabilité dans WCF en premier - vous avez besoin d'une entrée dans qui permet de traçage: xxx

    Suivant, vous avez besoin Pour configurer le traçage .NET comme tel: xxx

    ici, au lieu de la bande WebTraCelistener ou d'autres auditeurs prédéfinis, vous pouvez également brancher votre propre auditeur de trace orienté de la base de données.

    pour # 2:
    Vous pouvez - bien sûr - écrire votre propre sqltracelistener - ou vous pouvez utiliser l'une des nombreuses solutions prêtes à l'emploi, par exemple Celui-ci est ici (Téléchargez le code de CODEPLEX ).


0 commentaires

0
votes

Si vous n'avez pas besoin de tout le message savon, je suggère d'utiliser log4net avec personnalisé iparameterInspector ou itispatchMessageInspector implémentée, car dans ce cas, vous pouvez écrire pour enregistrer uniquement ce dont vous avez besoin. Sinon, prenez la solution de Marc_s.


0 commentaires