Question

Quelqu'un a-t-il utilisé le framework AOP Postsharp dans un environnement de production? Y a-t-il des pièges? Pour effectuer certaines opérations de journalisation, etc., PostSharp peut-il être utilisé avec Log4Net?

Tous les tutoriels sur l’utilisation de Postsharp avec Web Apps et / ou Log4Net seront les bienvenus.

Merci d'avance.

Était-ce utile?

La solution

Moi et un autre coéquipier utilisons PostSharp de différentes manières sur plusieurs projets en production depuis des mois. Par exemple, dans un cas, je l'utilise pour consigner les valeurs de paramètre de méthode en cas d'exception. PostSharp Laos (inclus dans PostSharp) est un moyen simple d’injecter des appels de méthode (par exemple, lors de la saisie d’une méthode, de la sortie ou d’une exception) et vous pouvez facilement ajouter des appels de journal à des enregistreurs log4net enregistrés.

Le temps de construction a augmenté, assez pour changer légèrement mes habitudes de construction, mais certainement pas trop pour les avantages qu’il procure, IMO. Lors de la rédaction du code, vous souhaiterez peut-être l'exclure de votre construction locale, ce qui est assez facile à faire pour pouvoir continuer à générer fréquemment et rapidement, puis l'inclure sur votre serveur de compilation, etc.

.

Voici un bon didacticiel sur PostSharp de Gael (le créateur de PostSharp) ... bien que ce soit vieux, ça fait plaisir de le voir passer. Il n'y a vraiment aucune différence dans son utilisation dans une console, Winforms, WPF ou WebApp que j'ai rencontrée jusqu'à présent.

Je dirais également qu'une fois que vous avez compris comment ajouter des aspects laotiens à un projet, il est très facile de répéter l'exercice. Et il existe une relation entre le nombre d'assemblages / classes auxquels vous appliquez les aspects et le temps que PostSharp ajoute à votre construction. Vous pouvez donc même contrôler un peu les problèmes de temps de construction.

En ce qui concerne le code, je suis vraiment très impressionné par le bon fonctionnement de PostSharp ... il n’a jamais bousillé une construction, rendu un assemblage invalide ou autrement foutu en code. Et je l'ai même utilisé dans les applications ASP.NET, avec une couverture de code et une instrumentation performante (donc, il est bien joué avec les outils d'instrumentation Assembly de MS).

Dans l’ensemble, j’aimerais vous recommande de l'essayer pour vos besoins en log4net.

Autres conseils

J'utilise Postsharp et je l'aime bien. Cela m'a permis d'économiser beaucoup de code dupliqué que je devais ajouter autrement.

Je n’ai besoin d’aucune fonctionnalité avancée pour log4Net et google suffit pour savoir comment cela fonctionne. Il fait juste le travail. Je n'ai vu aucun inconvénient jusqu'à présent.

Pour Postsharp, le guide de démarrage sur le site Web, le blog et la navigation dans le code source suffisent. L'augmentation du temps de construction est un inconvénient majeur. Je déteste attendre que mon ordinateur fasse son travail. Il faut environ 8 secondes pour appuyer sur ctrl-shift-b dans Visual Studio (sur un PC rapide) pour la solution de loco + -60K avec 2 projets utilisant l'action de génération postsharp. Si vous le pouvez, essayez d’utiliser Postsharp dans le moins de projets possible.

Lorsque vous ne voulez vraiment pas utiliser postsharp, vous pouvez créer une solution avec 20 projets et ajouter la commande post-build à chacun d'entre eux. Le temps de construction sera assez long pour ennuyer le reste de l'équipe.

Personnellement, je continuerai probablement à utiliser Postsharp pour de futurs projets. Les avantages prévalent sur le temps de construction supplémentaire.

Nous avons essayé d’utiliser post sharp pour une ou deux choses. Le problème, c’est que cela a eu pour effet de prolonger de beaucoup les délais d’exécution. Si vous utilisez CI et avez une méthodologie d’enregistrement fréquente, vous feriez mieux de disposer d’un sacré bon serveur de construction et de machines de station de travail.

Apparemment, .net 4.0 aura un tas de points d'ancrage du compilateur pour rendre des choses comme AOP plus faciles à faire. Notre conclusion finale était d’attendre cela.

J'utilise post sharp, j'adore ça. Le temps de construction après la post-production est ennuyeux mais c'est tout à fait capable. En mode débogage, j'utilise le conditionnel SKIPPOSTSHARP qui élimine les postsharp.

Selon le Enquête sur la communauté PostSharp , De nombreuses entreprises utilisent PostSharp en production. Ce qui est frustrant, c’est qu’ils refusent d’être identifiés: - (.

Nous utilisons effectivement PostSharp en production, à la fois pour le runtime 3.5 et le runtime Silverlight. Pour accélérer un peu les constructions, vous pouvez utiliser / m: switch pour msbuild (Google pour les constructions parallèles avec msbuild). Ils promettent également de l'accélérer de manière spectaculaire dans la prochaine version.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top