CA2212: Neoznačujte obsluhované součásti pomocí WebMethod
TypeName |
DoNotMarkServicedComponentsWithWebMethod |
CheckId |
CA2212 |
Kategorie |
Microsoft.Usage |
Narušující změna |
Narušující |
Příčina
Metoda typu, který je odvozen z ServicedComponent, je označena WebMethodAttribute.
Popis pravidla
WebMethodAttribute se týká metod v rámci webové služby XML, které byly vytvořeny pomocí technologie ASP.NET; to umožňuje volat metoda ze vzdálených webových klientů.Metoda a třída musí být veřejné a prováděné ve webové aplikaci technologie ASP.NET.Typy ServicedComponent jsou hostované aplikacemi modelu COM+ a mohou používat služby modelu COM+.WebMethodAttribute se nevztahuje na typy ServicedComponent, protože nejsou určeny pro stejné scénáře.Konkrétně přidání atributu do metody ServicedComponent neumožní volání metody ze vzdálených webových klientů.Protože metoda WebMethodAttribute a ServicedComponent mají konfliktní chování a požadavky na kontext a tok transakcí, bude chování metody v některých případech nesprávné.
Jak vyřešit porušení
Chcete-li napravit porušení tohoto pravidla, odstraňte atribut z metody ServicedComponent.
Kdy potlačit upozornění
Nepotlačujte upozornění na toto pravidlo.Neexistují žádné scénáře, kde je kombinace těchto prvků správná.