Поделиться через


CA2212: не следует помечать обслуживаемые компоненты атрибутом WebMethod

TypeName

DoNotMarkServicedComponentsWithWebMethod

CheckId

CA2212

Категория

Microsoft.Usage

Критическое изменение

Критическое изменение

Причина

Метод в типе, наследуемом от ServicedComponent, помечен атрибутом WebMethodAttribute.

Описание правила

WebMethodAttribute применяется к методам в веб-службе XML, которая была создана с помощью ASP.NET; этот атрибут обеспечивает возможность вызова данного метода удаленными веб-клиентами.Такой метод и класс должны быть открытыми и выполняться внутри веб-приложения ASP.NET.Типы ServicedComponent размещаются приложениями COM+ и могут использовать службы COM+.WebMethodAttribute не применяется к типам ServicedComponent, поскольку они не предназначены для того же сценария.В частности, при добавлении атрибута к методу ServicedComponent этот метод не становится доступным для вызова удаленными веб-клиентами.WebMethodAttribute и метод ServicedComponent ведут себя по-разному и имеют разные требования к контексту и потоку транзакций, поэтому поведение метода будет неверным в некоторых скриптах.

Устранение нарушений

Чтобы устранить нарушение этого правила, удалите атрибут из метода ServicedComponent.

Отключение предупреждений

Для этого правила отключать вывод предупреждений не следует.Не существует скриптов, в которых сочетание этих элементов допустимо.

См. также

Ссылки

ServicedComponent

WebMethodAttribute