Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.