Condividi tramite


CA2212: Non contrassegnare componenti serviti con WebMethod

TypeName

DoNotMarkServicedComponentsWithWebMethod

CheckId

CA2212

Category

Microsoft.Usage

Breaking Change

Breaking

Causa

Un metodo in un tipo che eredita da System.EnterpriseServices.ServicedComponent è contrassegnato con System.Web.Services.WebMethodAttribute.

Descrizione della regola

WebMethodAttribute si applica ai metodi all'interno di un servizio Web XML creati mediante ASP.NET. Mediante questo oggetto il metodo potrà essere chiamato da client Web remoti.È necessario che il metodo e la classe siano pubblici e in esecuzione in un'applicazione Web ASP.NET.I tipi ServicedComponent sono contenuti da applicazioni COM+ e possono utilizzare i servizi COM+.WebMethodAttribute non è applicato ai tipi ServicedComponent poiché non sono previsti per gli stessi scenari.In particolare, l'aggiunta dell'attributo al metodo ServicedComponent non consente di chiamare il metodo da client Web remoti.Poiché WebMethodAttribute e un metodo ServicedComponent presentano comportamenti e requisiti di contesto e flusso di transazioni in conflitto tra loro, il comportamento del metodo non sarà corretto in determinati scenari.

Come correggere le violazioni

Per correggere una violazione di questa regola, rimuovere l'attributo dal metodo ServicedComponent.

Esclusione di avvisi

Non escludere un avviso da questa regola.Non sono previsti scenari in cui la combinazione di questi elementi sia corretta.

Vedere anche

Riferimenti

System.EnterpriseServices.ServicedComponent

System.Web.Services.WebMethodAttribute