26 lines
994 B
Plaintext
26 lines
994 B
Plaintext
The ``++ServiceContract++`` attribute specifies that a class or interface defines the communication contract of a Windows Communication Foundation (WCF) service. The service operations of this class or interface are defined by ``++OperationContract++`` attributes added to methods. It doesn't make sense to define a contract without any service operations; thus, in a ``++ServiceContract++`` class or interface at least one method should be annotated with ``++OperationContract++``. Similarly, WCF only serves ``++OperationContract++`` methods that are defined inside ``++ServiceContract++`` classes or interfaces; thus, this rule also checks that ``++ServiceContract++`` is added to the containing type of ``++OperationContract++`` methods.
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
----
|
|
[ServiceContract]
|
|
interface IMyService // Noncompliant
|
|
{
|
|
int MyServiceMethod();
|
|
}
|
|
----
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
----
|
|
[ServiceContract]
|
|
interface IMyService
|
|
{
|
|
[OperationContract]
|
|
int MyServiceMethod();
|
|
}
|
|
----
|
|
|