CA2212: Nie należy oznaczać obsługiwanych składników znacznikiem WebMethod
TypeName |
DoNotMarkServicedComponentsWithWebMethod |
CheckId |
CA2212 |
Kategoria |
Microsoft.Usage |
Zmiana kluczowa |
Kluczowa |
Przyczyna
Metody typu, który dziedziczy z ServicedComponent jest oznaczona WebMethodAttribute.
Opis reguły
WebMethodAttribute stosuje się do metod w ramach usługi sieci Web XML, utworzonej za pomocą ASP.NET; metoda staje się wywoływalna ze zdalnych klientów sieci Web.Metoda i klasa muszą być publiczne i wykonywać się w aplikacji sieci Web ASP.NET.Typy ServicedComponent są obsługiwane przez aplikacje COM+ i mogą używać usług COM+.WebMethodAttribute nie jest stosowane do typów ServicedComponent, ponieważ nie są one przeznaczone dla tych samych scenariuszy.W szczególności, dodając atrybut do metody ServicedComponent nie czyni metody wywoływalną ze zdalnych klientów sieci Web.Ponieważ WebMethodAttribute i metoda ServicedComponent mają sprzeczne zachowania i wymagania dotyczące przepływu kontekstu i transakcji, zachowanie metod będzie niepoprawne w niektórych scenariuszach.
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, usuń atrybut z metody ServicedComponent.
Kiedy pominąć ostrzeżenia
Nie należy pomijać ostrzeżenia dotyczącego tej reguły.Nie istnieją scenariusze, w których połączenie tych elementów jest poprawne.