Calculator Client, exemple
L'application cliente de calculatrice est basé sur Windows Presentation Foundation (WPF) que vous pouvez utiliser pour envoyer des opérations au service de l'ordinateur d'état de la calculatrice ou au service de calculatrice durable. Vous pouvez utiliser le service de calculatrice avec différents protocoles, comme les liaisons WSHttpContextBinding ou WsHttpBinding avec les cookies activés. Vous pouvez commuter entre les liaisons et continuer à communiquer avec la même instance du service de workflow.
Remarque : |
---|
Cet exemple requiert l'installation de .NET Framework version 3.5 pour être généré et exécuté. Visual Studio 2008 est nécessaire pour l'ouverture des fichiers projet et solution. |
Vous pouvez également activer la calculatrice, effectuer des opérations et fermer l'application de calculatrice sans le désactiver. Vous pouvez ensuite activer la calculatrice, et celle-ci communique à nouveau avec l'instance de workflow avec laquelle elle communiquait avant. Le contexte est stocké dans un fichier appelé Context.ctx et qui se trouve dans le répertoire \bin de l'application cliente de calculatrice. Pour redémarrer l'application cliente de calculatrice, vous pouvez supprimer le fichier Client.ctx.
Pour plus d'informations sur la configuration de cet exemple, consultez One-time Setup Procedure for Windows Communication Foundation Samples.
Le code suivant affiche le contrat de service ICalculator
.
[ServiceContract(Namespace = "http://Microsoft.WorkflowServices.Samples")]
public interface ICalculator
{
[OperationContract()]
int PowerOn();
[OperationContract()]
int Add(int value);
[OperationContract()]
int Subtract(int value);
[OperationContract()]
int Multiply(int value);
[OperationContract()]
int Divide(int value);
[OperationContract()]
void PowerOff();
}
Pour installer la calculatrice
Vérifiez que l'exemple State Machine Workflow Service, exemple ou Durable Workflow Services Sample est hébergé dans Services Internet (IIS) 6.0 d'après les instructions fournies dans les exemples respectifs. Les fichiers Service.svc et Web.config du service que vous installez se trouvent dans le répertoire %systemdrive%\intetpub\wwwroot\ServiceModelSamples. Le fichier Service.dll se trouve dans le répertoire %systemdrive%\intetpub\wwwroot\ServiceModelSamples\bin.
Téléchargez l'exemple Utilitaires de service de workflow, puis enregistrez-le de sorte à ce que les dossiers CalculatorClient et WorkflowServiceUtility se trouvent dans le même dossier parent.
Assurez-vous de créer correctement la référence du service de workflow. Si elle est indéfinie lorsque vous ouvrez la solution, recréez la référence. Vous pouvez également regarder le WSDL (Web Services Descriptor Language) du service de workflow de l'ordinateur d'état ou le service de calculatrice durable en accédant à l'adresse appropriée via votre navigateur, à savoir, https://localhost/ServiceModelSamples/service.svc. Pour regarder le WSDL, accédez à l'adresse https://localhost/ServiceModelSamples/service.svc? wsdl.
Le client de calculatrice montre comment communiquer avec un service en conservant l'état, afin que le service puisse continuer lorsque vous redémarrez la conversation. Pour utiliser la calculatrice, entrez un nombre et une opération que vous souhaitez effectuer. Le service avec lequel le client de calculatrice communique effectue l'opération spécifiée à l'aide du résultat de la dernière opération. Lorsque vous démarrez, le résultat de la dernière opération est 0. Par exemple, si vous démarrez le client de calculatrice et que vous entrez la valeur 2, puis l'opération d'addition (+), le service ajoute 2 au résultat de la dernière opération (dans ce cas, 0). La calculatrice affiche ensuite le résultat (2). Si vous entrez ensuite 3, puis l'opération d'addition (+), le chiffre 3 est alors ajouté au résultat de la dernière opération (2), et le résultat est 5. Le signe égal (=) ajoute 0 au résultat de la dernière opération. Dans l'exemple précédent, si vous entrez le chiffre 2, puis le signe égal, la calculatrice ajoute 0 au résultat de la dernière opération (5), et retourne 5.
Si vous arrêtez puis redémarrez le client, le résultat de la dernière opération est affiché sur la calculatrice. Vous pouvez alors continuer à effectuer des opérations.
Le client de calculatrice utilise le fichier texte Client.ctx pour stocker le contexte dans un endroit durable la première fois qu'un appel est passé (dans le cas présent, dans le répertoire \bin de votre exemple). Lorsque vous rouvrez le client, il vérifie si le fichier est présent. S'il l'est, le client applique le contexte stocké au canal créé. Si le service de workflow a terminé et que vous ouvriez le client à l'aide du fichier Context.ctx figurant encore dans votre répertoire \bin, le client de calculatrice essaie d'appliquer le contexte au canal. Vous recevez une erreur parce que l'instance de workflow avec laquelle vous souhaitez communiquer est absente. Supprimez le fichier et réessayez.