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.