Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Контракт запроса на ответ указывает метод, возвращающий ответ. Ответ должен быть отправлен и коррелирован с запросом в соответствии с условиями этого контракта. Даже если метод не возвращает ответ (void в C#или в Sub Visual Basic), инфраструктура создает и отправляет пустое сообщение вызывающему объекту. Чтобы предотвратить отправку пустого сообщения ответа, используйте односторонний контракт для операции.
Создать контракт запроса-ответа
Создайте интерфейс на выбранном языке программирования.
ServiceContractAttribute Примените атрибут к интерфейсу.
Примените атрибут к каждому методу OperationContractAttribute , который клиенты могут вызывать.
Необязательно. Установите значение свойства IsOneWay на
true, чтобы предотвратить отправку пустого сообщения ответа. По умолчанию все операции являются контрактами запроса и ответа.
Пример
В следующем примере определяется контракт для службы калькулятора, которая предоставляет Add и Subtract методы. Метод Multiply не является частью контракта, так как он не помечен классом OperationContractAttribute , поэтому он недоступен для клиентов.
using System.ServiceModel;
[ServiceContract]
public interface ICalculator
{
[OperationContract]
// It would be equivalent to write explicitly:
// [OperationContract(IsOneWay=false)]
int Add(int a, int b);
[OperationContract]
int Subtract(int a, int b);
int Multiply(int a, int b)
}
Дополнительные сведения о том, как указать контракты операций, см. в OperationContractAttribute классе и свойстве IsOneWay .
Применение атрибутов ServiceContractAttribute и OperationContractAttribute приводит к автоматическому созданию определений контракта службы в документе WSDL (языка описания веб-служб) после развертывания службы. Документ скачан путем добавления
?wsdlк базовому адресу HTTP для службы. Например:http://microsoft/CalculatorService?wsdl