Что такое контракт в контексте WCF и какие бывают контракты?

В процессе изучения WCF узнал, что термин "контракт" в контексте WCF имеет какое-то особое значение. Обьясните-ка пожалуйста в чём заключается суть этого термина и какими бывают эти контракты?

Контракт - это стандартный, независимый от платформы способ описания того что делает данная служба.

Контракты бывают следующими:

  1. Контракты служб

  2. Контракты данных

  3. Контракты ошибок

  4. Контракты сообщений