2017-08-17 1 views

Répondre

2

Désolé pour le document manquant, nous travaillons dessus.

L'audit personnalisé décrit dans l'article fonctionne toujours, mais dans PostSharp 5.0, nous avons apporté un aspect d'audit prêt à l'emploi dans le cadre de la bibliothèque de modèles de diagnostic améliorée - voir https://www.postsharp.net/diagnostics.

Le modèle d'audit ready-made fonctionne comme suit:

1) Installez PostSharp.Patterns.Diagnostics package NuGet à votre projet.

2) Ajoutez l'attribut personnalisé AuditAttribute à toutes les méthodes que vous souhaitez auditer.

3) S'enregistrer à l'événement AuditServices.RecordPublished, qui serait déclenché chaque fois qu'une méthode auditée est invoquée.

Un exemple montrant cela, entre autres, est disponible au http://samples.postsharp.net/#PostSharp.Samples.Logging/Program.cs.

Autres ressources:

+1

Merci. Dans la version antérieure à 5.x, MethodExecutionArgs.Arguments() renvoyait uniquement les arguments de la méthode. Dans 5.x, AuditRecordEventArgs.Record.Text() donne le functionname avec des arguments. Comment puis-je récupérer uniquement les arguments de la méthode. –

+0

La récupération de la liste d'arguments via la classe 'AuditRecord' n'est pas implémentée pour le moment. Vous pouvez le soumettre en tant que demande de fonctionnalité à l'adresse https://postsharp.uservoice.com/. –

+0

AuditServices.RecordPublished un gestionnaire d'événements global? J'ai ajouté ce gestionnaire dans main(). Lorsque [Audit] est ajouté à une méthode dans l'un des assemblages dépendants, le gestionnaire a été appelé. Pouvez-vous confirmer que je ne dois pas enregistrer cet événement dans tous les assemblages dépendants? –