Windows Communication Foundation
WCFサービスクラスは、サービスをメソッド群として実装する。さらに、少なくとも1つのサービスコントラクトが定義され、そこにそのサービスが実行できる操作が定義される。オプションとしてデータコントラクトも定義でき、操作によって利用されるデータの種類を記述できる。
コントラクトは .NET Attributes を使って定義される。WCFサービスとして公開されるクラスには、ServiceContract 属性を付与するか、その属性が付与されたインターフェイスを実装する必要がある。クライアントが SOAP メッセージを使って呼び出せるメソッドには、OperationContract 属性を付与しなければならない。これらの属性によって WSDL の記述が自動的に生成され、クライアントはそれを参照可能となる。
1つのサービスに複数のサービスコントラクトを設けることもできる。これは複数の .NET インターフェイスを定義し、それぞれに ServiceContract 属性を付与することでなされる。サービスクラスには、それら全インターフェイスを実装する。
ServiceContract と OperationContract 属性はまた、既存の契約を参照するインターフェイスを持つこともでき、インターフェイスのバージョン付けも可能となっている。