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.