Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’exemple InlineCode montre comment implémenter un service hébergé par Internet Information Services (IIS), où le code de service est contenu en ligne dans un fichier .svc et est compilé à la demande. Le code de service peut également être implémenté directement dans les fichiers de code source situés dans le répertoire \App_Code de l’application ou compilé dans un assembly déployé dans \bin. Cet exemple ne montre pas ces techniques.
Remarque
La procédure de configuration et les instructions de génération de cet exemple se trouvent à la fin de cette rubrique.
L’exemple illustre un service classique qui implémente un contrat qui définit un modèle de communication de demande-réponse. Le service est hébergé dans IIS et le code de service est entièrement contenu dans le fichier Service.svc. Le service est activé par l’hôte et compilé à la demande par le premier message envoyé au service. Il n’y a pas de pré-compilation nécessaire. Le service implémente un ICalculator contrat tel que défini dans le code suivant :
// Define a service contract.
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
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);
}
L’implémentation du service calcule et retourne le résultat approprié.
<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService" %>
// Service class that implements the service contract.
public class CalculatorService : ICalculator
{
public double Add(double n1, double n2)
{
return n1 + n2;
}
public double Subtract(double n1, double n2)
{
return n1 - n2;
}
public double Multiply(double n1, double n2)
{
return n1 * n2;
}
public double Divide(double n1, double n2)
{
return n1 / n2;
}
}
Lorsque vous exécutez l’exemple, les demandes et réponses de l’opération s’affichent dans la fenêtre de la console cliente. Appuyez sur Entrée dans la fenêtre du client pour arrêter le client.
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.
Pour configurer, générer et exécuter l’exemple
Assurez-vous d’avoir effectué la Procédure d’installation unique pour les exemples Windows Communication Foundation.
Pour générer l’édition C# ou Visual Basic .NET de la solution, conformez-vous aux instructions figurant dans Building the Windows Communication Foundation Samples.
Une fois la solution générée, exécutez setup.bat pour configurer l’application ServiceModelSamples dans IIS 7.0. Le répertoire ServiceModelSamples doit maintenant apparaître sous la forme d’une application IIS 7.0.
Pour exécuter l’exemple dans une configuration monoposte ou multiposte, suivez les instructions de Exécution des exemples Windows Communication Foundation. Pour obtenir un exemple sur la création d’une application cliente qui peut appeler ce service, consultez Comment : créer un client.