Что такое контракт в конечной точке webhttpbinding?

При создании службы WCF RESTful часть конфигурации включает создание конечной точки службы. Что-то вроде ниже

  <service name="MyService" behaviorConfiguration="serviceBehavior">
    <endpoint address="" binding="webHttpBinding" bindingConfiguration="UsernameWithTransport" contract="IMyService" behaviorConfiguration="web"></endpoint>
  </service>

Мой вопрос, что именно contract предусмотрено? Предоставляет ли он какую-то информацию браузеру, который пытается получить к нему доступ?

1 ответ

Решение

В WCF Контракт ( ContractDescription) представляет собой набор операций, который указывает, что конечная точка сообщает внешнему миру. Каждая операция - это обмен сообщениями. Например, сообщение запроса и соответствующее ответное сообщение образуют обмен сообщениями запроса / ответа.

Объект ContractDescription используется для описания контрактов WCF и их операций. В рамках ContractDescription каждая операция по контракту имеет соответствующее OperationDescription, которое описывает аспекты каждой операции, которая является частью договора, например, является ли операция односторонней или запросом / ответом. Каждое OperationDescription также описывает сообщения, составляющие операцию, используя MessageDescriptionCollection. ContractDescription содержит ссылку на интерфейс, который определяет контракт с использованием модели программирования. Этот интерфейс помечен с помощью ServiceContractAttribute, а его методы, соответствующие операциям конечной точки, помечены с помощью OperationContractAttribute.

Контракт также важен, потому что вы можете представить отдельные сервисные контракты в одной службе WCF.

Другие вопросы по тегам