Bonjour à tous,
Je ne savais pas comment intituler mon problème, désolé donc si le titre n'est pas clair.
Pour vous expliquer mon contexte, je suis sur une application ASP.NET MVC 4 et j'ai besoin de créer un rapport, sur l'utilisation de l'application par les utilisateurs, une sorte de log on peut dire. Les logs doivent être stockés en base pour pouvoir être exporté vers un fichier Excel sous format CSV.
Il est important de noter que j'ai besoin d'une solution générique et réutilisable car sera utilisée dans un de mes futurs projets.
Pour ce faire j'ai décidé de partir sur une solution avec un attribut héritant de System.Web.Mvc.ActionFilterAttribute qui serait ajouté aux méthodes qui m'intéressent. J'ai choisi cette solution qui permet de ne pas toucher au code existant afin de ne pas apporter d'éventuels régressions, heureusement le code est assez segmenté et permet d'avoir un niveau de log assez précis.
Seulement j'ai remarqué en cours de route que l'attribut héritant de ActionFilterAttribute ne peut s'appliquer que sur des méthodes retournant un ActionResult, en tout cas c'est l'impression que j'ai en regardant sur le net et d'après mes tests. Vous confirmez ? De plus vu comment je suis parti j'ai du mal à faire quelque chose de réutilisable...
Jusqu'à présent je n'avais pas de problème mais maintenant j'ai besoin d'une solution similaire pour des méthodes ne retournant pas forcément un ActionResult, voire pas seulement en ASP.NET mais en C#. J'ai pensé à utiliser System.Attribute, mais en commençant à faire des tests j'ai l'impression que je vais avoir beaucoup de problèmes avec cette solution, de plus j'arrive à récupérer des informations seulement sur un attribut classe (AttributeTargets.Class) et pas méthode (AttributeTargets.Method).
Est-ce que je suis sur la bonne voie ? Si non que me proposez-vous comme solution, suggestions ?
Merci d'avance !
Partager