CA2212 : Ne marquez pas les composants pris en charge avec webMethod
Élément | Valeur |
---|---|
ID de la règle | CA2212 |
Category | Microsoft.Usage |
Modification avec rupture | Rupture |
Cause
Une méthode dans un type qui hérite de System.EnterpriseServices.ServicedComponent est marquée avec System.Web.Services.WebMethodAttribute.
Description de la règle
WebMethodAttribute s’applique aux méthodes au sein d’un service Web XML qui ont été créées à l’aide de ASP.NET ; elle permet d’appeler la méthode à partir de clients Web distants. La méthode et la classe doivent être publiques et exécutées dans une application Web ASP.NET. Les types ServicedComponent sont hébergés par des applications COM+ et peuvent utiliser les services COM+. WebMethodAttribute n’est pas appliqué aux types ServicedComponent, car ils ne sont pas destinés aux mêmes scénarios. Plus précisément, l’ajout de l’attribut à la méthode ServicedComponent ne permet pas d’appeler la méthode à partir de clients Web distants. Sachant que WebMethodAttribute et une méthode ServicedComponent ont des comportements incompatibles et des exigences en matière de contexte et de flux de transactions, le comportement de la méthode est incorrect dans certains scénarios.
Comment corriger les violations
Pour corriger une violation de cette règle, supprimez l’attribut de la méthode ServicedComponent.
Quand supprimer les avertissements
Ne supprimez aucun avertissement de cette règle. Il n’existe aucun scénario où la combinaison de ces éléments est correcte.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour