Não marque os componentes de serviço com WebMethod
TypeName |
DoNotMarkServicedComponentsWithWebMethod |
CheckId |
CA2212 |
Category (Categoria) |
Microsoft.uso |
Quebrando alterar |
Quebrando |
Causa
Um método em um tipo que herda de System.EnterpriseServices.ServicedComponent está marcado com System.Web.Services.WebMethodAttribute.
Descrição da regra
WebMethodAttribute se aplica aos métodos em um XML Web Services criados usando ASP.NET; ele torna o método podem ser chamados de clientes remoto da Web. O método e a classe devem ser pública e em execução em um aplicativo Web ASP.NET.ServicedComponent tipos hospedados por aplicativos do COM + e podem usar serviços COM +. WebMethodAttribute não é aplicada a ServicedComponent tipos porque eles não são se destina os mesmos cenários. Especificamente, adicionando o atributo à ServicedComponent método não faz o método que pode ser chamado por clientes remoto da Web. Porque WebMethodAttribute e um ServicedComponent método ter comportamentos conflitantes e requisitos para o contexto e fluxo de transações, o comportamento do método será incorreto em alguns cenários.
Como corrigir violações
Para corrigir uma violação dessa regra, remova o atributo do ServicedComponent método.
Quando suprimir avisos
Não suprimir um aviso da regra.Não há nenhum cenários em que a combinação desses elementos é correto.