Compartilhar via


CA2212: Não marque os componentes de serviço 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 os mesmos cenários.Especificamente, adicionando o atributo para o ServicedComponent método não torna o método podem ser chamados de clientes remotos da Web.Porque WebMethodAttribute e um ServicedComponent método comportamentos conflitantes e requisitos para o contexto e o fluxo de transações, o comportamento do método estará incorretos em alguns cenários.

Como corrigir violações

Para corrigir uma violação desta regra, remova o atributo da 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