Condividi tramite


Implementazione di contratti di servizio

Un servizio è una classe che espone le funzionalità disponibili per i client in uno o più endpoint. Per creare un servizio, scrivere una classe che implementa un contratto Windows Communication Foundation (WCF). È possibile eseguire questa operazione in uno dei due modi seguenti. È possibile definire il contratto separatamente come interfaccia e quindi creare una classe che implementa tale interfaccia. In alternativa, è possibile creare la classe e il contratto direttamente inserendo l'attributo ServiceContractAttribute sulla classe stessa e l'attributo OperationContractAttribute sui metodi disponibili per i client del servizio.

Creazione di una classe di servizio

Di seguito è riportato un esempio di servizio che implementa un IMath contratto definito separatamente.

// Define the IMath contract.  
[ServiceContract]  
public interface IMath  
{  
    [OperationContract]
    double Add(double A, double B);  
  
    [OperationContract]  
    double Multiply (double A, double B);  
}  
  
// Implement the IMath contract in the MathService class.  
public class MathService : IMath  
{  
    public double Add (double A, double B) { return A + B; }  
    public double Multiply (double A, double B) { return A * B; }  
}  

In alternativa, un servizio può esporre direttamente un contratto. Di seguito è riportato un esempio di una classe di servizio che definisce e implementa un MathService contratto.

// Define the MathService contract directly on the service class.  
[ServiceContract]  
class MathService  
{  
    [OperationContract]  
    public double Add(double A, double B) { return A + B; }  
    [OperationContract]  
    private double Multiply (double A, double B) { return A * B; }  
}  

Si noti che i servizi precedenti espongono contratti diversi perché i nomi dei contratti sono diversi. Nel primo caso, il contratto esposto è denominato "IMath" mentre nel secondo caso il contratto è denominato "MathService".

È possibile impostare alcuni elementi a livello di implementazione del servizio e dell'operazione, come la concorrenza e la gestione delle istanze. Per altre informazioni, vedere Progettazione e implementazione di servizi.

Dopo aver implementato un contratto di servizio, è necessario creare uno o più endpoint per il servizio. Per altre informazioni, vedere Panoramica della creazione di endpoint. Per altre informazioni su come eseguire un servizio, vedere Servizi di hosting.

Vedere anche