Qu'est ce qu'IL le Tissage?
J'ai juste vu Ayende post aujourd'hui au sujet de PostSharp. J'ai téléchargé le code et ai essayé, et je pensais que c'était le plus cool, plus facile à utiliser pour gérer l'AOP que j'ai vu.
Dans son poste, Ayende dit que PostSharp accomplit c'est de la magie via IL le Tissage. Maintenant, à un niveau abstrait, je peux en déduire ce que cela signifie, mais je voulais voir si il y avait une réponse plus détaillée là-bas. Malheureusement, pour la première fois dans un temps très long, Google est venu vide pour moi. Et alors j'ai pensé que ce serait une bonne question pour StackOverflow (depuis que j'ai été un abonnez-vous à Jeff blog pour un couple d'années maintenant, et savait que ce site était en train de faire son truc).
Qu'est-ce qu'IL le Tissage et comment est-il accompli?
Vous devez vous connecter pour publier un commentaire.
Tissage désigne le processus d'injection de fonctionnalités dans un programme existant. Cela peut être fait sur le plan conceptuel à un certain nombre de niveaux:
En théorie, vous pourriez aller plus profond et de tisser avec un exécutable compilé en natif des instructions, mais ce serait ajouter beaucoup de complexité et je ne suis pas au courant de tout ce qui ne ce.
IL le Tissage est simlar de ByteCode de Tissage. .Net est compilé en langage intermédiaire qui est géré par le .NET clr. IL le Tissage est fondamentalement l'analyse et de la modification de la langue d'intermédiaire. Puisqu'il est fait à ce niveau, il peut être fait pour tous .NET languages.
Pourrait aider si vous Google MSIL Injection à la place. Ce lien est à partir de PostSharp et il explique bien.
Mon entreprise a récemment acheté un produit appelé dynaTrace pour le diagnostic de performances. Il utilise MSIL injection de l'instrument autour des méthodes. Fondamentalement, il ajoute du code IL avant de votre méthode et après le temps de la méthode (je suis sûr qu'il ya beaucoup plus que cela).
Et ici est un assez impliqués, mais une bonne explication du processus.