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.

Consulte também

Referência

System.EnterpriseServices.ServicedComponent

System.Web.Services.WebMethodAttribute