CA2212: Non contrassegnare componenti serviti con WebMethod
Articolo | Valore |
---|---|
ID regola | CA2212 |
Category | Microsoft.Usage |
Modifica | Interruzione |
Causa
Un metodo in un tipo che eredita da System.EnterpriseServices.ServicedComponent è contrassegnato con System.Web.Services.WebMethodAttribute.
Descrizione regola
WebMethodAttribute si applica ai metodi all'interno di un servizio Web XML creato tramite ASP.NET; rende il metodo chiamabile dai client Web remoti. Il metodo e la classe devono essere pubblici ed eseguiti in un'applicazione Web ASP.NET. ServicedComponent i tipi sono ospitati da applicazioni COM+ e possono usare i servizi COM+. WebMethodAttribute non viene applicato ai ServicedComponent tipi perché non sono destinati agli stessi scenari. In particolare, l'aggiunta dell'attributo al ServicedComponent metodo non rende il metodo chiamabile dai client Web remoti. Poiché WebMethodAttribute e un ServicedComponent metodo presentano comportamenti e requisiti in conflitto per il contesto e il flusso delle transazioni, il comportamento del metodo non sarà corretto in alcuni scenari.
Come correggere le violazioni
Per correggere una violazione di questa regola, rimuovere l'attributo dal ServicedComponent metodo .
Quando eliminare gli avvisi
Non escludere un avviso da questa regola. Non esistono scenari in cui la combinazione di questi elementi è corretta.
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per