Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um contrato de pedido-resposta especifica um método que devolve uma resposta. A resposta deve ser enviada e correlacionada com o pedido nos termos deste contrato. Mesmo que o método não devolva resposta (void em C#, ou no Sub Visual Basic), a infraestrutura cria e envia uma mensagem vazia ao chamador. Para evitar o envio de uma mensagem de resposta vazia, use um contrato unidirecional para a operação.
Para criar um contrato de pedido-resposta
Crie uma interface na linguagem de programação que preferir.
Aplica o atributo ServiceContractAttribute à interface.
Aplicar o OperationContractAttribute atributo a cada método que os clientes possam invocar.
Opcional. Defina o valor da propriedade IsOneWay como
truepara evitar o envio de uma mensagem de resposta vazia. Por defeito, todas as operações são contratos de pedido-resposta.
Exemplo
O exemplo seguinte define um contrato para um serviço de calculadora que fornece os métodos Add e Subtract. O Multiply método não faz parte do contrato porque não está marcado pela OperationContractAttribute classe e, por isso, não é acessível aos clientes.
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)
}
Para mais informações sobre como especificar contratos de operação, consulte a OperationContractAttribute classe e a IsOneWay propriedade.
A aplicação dos ServiceContractAttribute atributos e OperationContractAttribute provoca a geração automática de definições de contratos de serviço num documento Web Services Description Language (WSDL) após a implementação do serviço. O documento é descarregado adicionando
?wsdlao endereço base HTTP do serviço. Por exemplo,http://microsoft/CalculatorService?wsdl