CA2212: ServicedComponents nicht mit WebMethod markieren
TypeName |
DoNotMarkServicedComponentsWithWebMethod |
CheckId |
CA2212 |
Kategorie (Category) |
Microsoft.Usage |
Unterbrechende Änderung |
Breaking |
Ursache
Eine Methode in einem Typ, der von ServicedComponent erbt, wird mit WebMethodAttribute markiert.
Regelbeschreibung
WebMethodAttribute wird auf Methoden in einem XML-Webdienst angewendet, die mit ASP.NET erstellt wurden. Dadurch kann die Methode durch Remotewebclients aufgerufen werden.Die Methode und die Klasse müssen öffentlich sein und in einer ASP.NET-Webanwendung ausgeführt werden.ServicedComponent-Typen werden von COM+-Anwendungen gehostet und können COM+-Dienste verwenden.WebMethodAttribute wird nicht für ServicedComponent-Typen übernommen, da sie nicht für die gleichen Szenarios vorgesehen sind.Insbesondere bewirkt das Hinzufügen des Attributs zur ServicedComponent-Methode nicht, dass die Methode von Remotewebclients aufgerufen werden kann.Da das Verhalten von WebMethodAttribute und einer ServicedComponent-Methode sowie deren Anforderungen an den Kontext sowie den Transaktionsablauf zu Konflikten führen, ist das Verhalten der Methode in bestimmten Szenarien fehlerhaft.
Behandeln von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, entfernen Sie das Attribut aus der ServicedComponent-Methode.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnung dieser Regel.Es gibt keine Szenarien, in denen eine Kombination dieser Elemente richtig ist.