AllowPartiallyTrustedCallersAttribute n'est efficace que lorsqu'il est appliqué au niveau de l'assembly par un assembly avec nom fort. Pour plus d'informations sur l'application d'attributs au niveau de l'assembly, consultez Application des attributs.
Par défaut, un assembly avec nom fort qui n'applique pas explicitement cet attribut au niveau de l'assembly pour autoriser son utilisation par du code d'un niveau de confiance partiel ne peut être appelé que par d'autres assemblys auxquels la stratégie de sécurité a octroyé un niveau de confiance totale. Cette restriction est appliquée en plaçant un LinkDemand pour FullTrust sur toutes les méthodes publiques ou protégées sur chaque classe accessible publiquement de l'assembly. Les assemblys destinés à être appelés par du code d'un niveau de confiance partiel peuvent déclarer cette intention en utilisant l'attribut AllowPartiallyTrustedCallersAttribute. Cet attribut est déclaré au niveau de l'assembly. Par exemple, la déclaration est [assembly:AllowPartiallyTrustedCallers] en langage C# et <assembly:AllowPartiallyTrustedCallers> en langage Visual Basic.
Attention : |
|---|
La présence de cet attribut au niveau de l'assembly empêche le comportement par défaut d'appliquer des vérifications de sécurité FullTrust LinkDemand ce qui autorise l'appel de l'assembly par tout autre assembly (d'un niveau de confiance total ou partiel). |
En présence de cet attribut, toutes les autres vérifications de sécurité fonctionnent comme prévu, y compris tous les attributs de sécurité déclarative de niveau classe ou méthode présents. Cet attribut bloque uniquement la demande de l'appelant de confiance totale implicite.
Ce n'est pas un attribut de sécurité déclarative mais un attribut normal (il dérive de Attribute et non de SecurityAttribute).
Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.