CA2212: Não marca componentes atendidos com WebMethod

TypeName

DoNotMarkServicedComponentsWithWebMethod

CheckId

CA2212

<strong>Categoria</strong>

Microsoft.Usage

Alteração significativa

Quebrando

Causa

Um método em um tipo que herda de System.EnterpriseServices.ServicedComponent é marcado com System.Web.Services.WebMethodAttribute.

Descrição da regra

WebMethodAttributeaplica-se aos métodos dentro de um XML Web Services criados usando ASP.NET; ele torna o método podem ser chamados de clientes remotos da Web. O método e a classe devem ser pública e em execução em um aplicativo ASP.Aplicativo da Web do NET. ServicedComponentos tipos são hospedados por aplicativos COM+ e podem usar serviços COM+. WebMethodAttributenão é aplicada a ServicedComponent tipos porque eles não são destinados a mesma cenários. Especificamente, adicionando o atributo para o ServicedComponent método não faz o método podem ser chamado de clientes da Web remoto. Porque WebMethodAttribute e um ServicedComponent método conflitantes comportamentos e requisitos para o contexto e fluxo de transações, o comportamento do método estará incorreto em alguns cenários.

Como corrigir violações

Para corrigir uma violação desta regra, remova o atributo a partir de ServicedComponent método.

Quando suprimir avisos

Não suprimir um aviso da regra. Não há nenhum cenários onde a combinação desses elementos é correto.

Consulte também

Referência

System.EnterpriseServices.ServicedComponent

System.Web.Services.WebMethodAttribute