Freigeben über


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.

Siehe auch

Referenz

ServicedComponent

WebMethodAttribute