Messagerie dans l'Appli UWP
Les étapes générales pour la messagerie seraient comme suit :
1.Les données sont communiquées depuis l'appli UWP à la solution (affichée dans un contrôle SolutionView de la page UWP).
2.La solution envoie les données au workflow de la solution sur MobileTogether Server, où elles sont traitées comme d'habitude.
3.Les résultats sont renvoyés au contrôle SolutionView où ils peuvent être (i) affichés en tant que partie de la solution, et/ou (ii) retournés à l'appli UWP pour affichage ou traitement supplémentaire.
Mécanisme de messagerie
Un message envoyé depuis l'appli UWP au serveur est appelé message incorporé. Le mécanisme de messagerie utilise trois fonctions MobileTogether :
•L'événement OnEmbeddedMessage, qui est disponible en tant qu'événement de page ;
•La source de page JSON $MT_EMBEDDEDMESSAGE, qui est générée automatiquement si au moins une action est définie pour l'événement OnEmbeddedMessage ;
•L'action Embedded Message Back, qui envoie un string JSON sérialisé en tant que message retour ;
Les fonctions sont utilisées pour la messagerie dans l'appli UWP comme suit :
•Le contrôle SolutionView a désormais une méthode ProcessEmbeddedMessage(msg), qui (i) peuple la source de page JSON $MT_EMBEDDEDMESSAGE, et (ii) déclenche l'événement de page OnEmbeddedMessage.
•Le contrôle SolutionView a désormais un nom d'événement EmbeddedMessage qui est déclenché quand, dans la solution hébergée, l'action Embedded Message Back est exécutée. Cet événement peut être traité de manière synchrone ou asynchrone, par exemple, en utilisant le mécanisme échelonnement standard UWP , tel que recensé ci-dessous.
void EmbeddedMessage(object sender, EmbeddedMessageEventArgs e)
{
var deferal = e.GetDeferral();
... Do some parallel processing of e.Message ...
deferal.Complete();
}
Messagerie étape par étape
Les étapes ci-dessous vous donne un aperçu détaillé du processus de messagerie.
Appli UWP à solution à serveur
1.La méthode ProcessEmbeddedMessage(msg)dans votre code peut être utilisée pour transférer les données depuis l'appli UWP vers le contrôle SolutionView. Les données doivent être envoyées en tant qu'objet JSON sérialisé. (Si vos données sont en format XML, le document XML doit être emballé à l'intérieur d'un objet JSON.)
2.La solution ciblée doit avoir un événement OnEmbeddedMessage, qui a au moins une action définie pour elle. Dans ce cas, quand un message encapsulé atteint la solution, a $MT_EMBEDDEDMESSAGE la source de page JSON est créée automatiquement et peuplée. La source de page aura un élément racine intitulé json, et sa structure et son contenu viendront du message encapsulé.
3.Sur le serveur, la source de page JSON $MT_EMBEDDEDMESSAGE peut être traitée par le biais d'actions de l'événement OnEmbeddedMessage ou de toute autre manière. Ceci complète la première moitié du transfert, de l'appli UWP à MobileTogether Server. Les données traitées peuvent désormais être renvoyées à la solution.
Serveur MT à solution à appli UWP
4.L'action Embedded Message Back envoie un message de renvoi au contrôle SolutionView sous forme de string JSON sérialisé. En définissant l'action, vous pouvez spécifier le message que vous voulez envoyer. Par exemple, dans la capture d'écran ci-dessous, l'action spécifie que le message à renvoyer et toute la structure de données stockée dans la source de page JSON $MT_EMBEDDEDMESSAGE : à savoir, le nœud json de l'arborescence et ses contenus.
5.Lorsque l'action Embedded Message Back de la solution est exécutée, l'événement EmbeddedMessage du contrôle SolutionView est déclenché. Le message emballé reçu par le contrôle SolutionView peut désormais être traité en utilisant le code de votre appli UWP.