CA2212: サービス コンポーネントを WebMethod に設定しません
Item | [値] |
---|---|
規則 ID | CA2212 |
カテゴリ | Microsoft.Usage |
互換性に影響する変更点 | あり |
原因
System.EnterpriseServices.ServicedComponent から継承された型のメソッドが、System.Web.Services.WebMethodAttribute でマークされています。
規則の説明
WebMethodAttribute は、ASP.NET を使用して作成された XML Web サービス内のメソッドに適用されます。これによって、リモート Web クライアントからメソッドを呼び出すことができるようになります。 メソッドとクラスはパブリックであり、ASP.NET Web アプリケーションで実行されている必要があります。 ServicedComponent 型は、COM+ アプリケーションによってホストされ、COM+ サービスを使用できます。 WebMethodAttribute が ServicedComponent 型に適用されないのは、同じシナリオを想定していないためです。 具体的には、ServicedComponent メソッドに属性を追加すると、メソッドをリモート Web クライアントから呼び出すことができなくなります。 WebMethodAttribute および ServicedComponent メソッドは、コンテキストおよびトランザクション フローの動作および要件が競合するため、シナリオによってはメソッドが正常に動作しません。
違反の修正方法
この規則違反を修正するには、ServicedComponent メソッドから属性を削除します。
どのようなときに警告を抑制するか
この規則による警告は抑制しないでください。 これらの要素の組み合わせが適切なシナリオはありません。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示