Condividi tramite


Procedura: creare un servizio con un'interfaccia di contratto

Il modo preferito per creare un contratto Windows Communication Foundation (WCF) consiste nell'usare un'interfaccia. Questo contratto specifica la raccolta e la struttura dei messaggi necessari per accedere alle operazioni offerte dal servizio. Questa interfaccia definisce i tipi di input e output applicando la classe ServiceContractAttribute all'interfaccia e la classe OperationContractAttribute ai metodi che si desidera esporre.

Per altre informazioni sui contratti di servizio, vedere Progettazione di contratti di servizio.

Creazione di un contratto WCF con un'interfaccia

  1. Creare una nuova interfaccia utilizzando Visual Basic, C# o qualsiasi altro linguaggio Common Language Runtime.

  2. Applicare la classe ServiceContractAttribute all'interfaccia.

  3. Definire i metodi nell'interfaccia.

  4. Applicare la classe OperationContractAttribute a ogni metodo che deve essere esposto come parte del contratto WCF pubblico.

Esempio

Nell'esempio di codice seguente viene illustrata un'interfaccia che definisce un contratto di servizio.

using System.ServiceModel;

[ServiceContract]
public interface ICalculator
{
   [OperationContract]
   double Add(double n1, double n2);
   [OperationContract]
   double Subtract(double n1, double n2);
   [OperationContract]
   double Multiply(double n1, double n2);
   [OperationContract]
   double Divide(double n1, double n2);
}


<ServiceContract()> _
Public Interface ICalculator
    <OperationContract()> _
    Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
    <OperationContract()> _
    Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
End Interface

I metodi a cui è applicata la classe OperationContractAttribute usano per impostazione predefinita un modello di messaggio request/reply. Per altre informazioni su questo criterio di messaggio, vedere Procedura: Creare un contratto Request/Reply. È anche possibile creare e utilizzare altri modelli di messaggio impostando proprietà dell'attributo. Per altri esempi, vedere Procedura: Creare un contratto unidirezionale e Procedura: Creare un contratto duplex.

Vedi anche