Bonjour à tous.
Je suis à la recherche de la meilleur façon d'avoir une architecture logiciel qui utilise un serveur asynchrone.
Le but du logiciel est de récupérer par Ethernet des données. A la réception des données je dois les traiter en les sauvegardant dans un base de données, et suivant le type string le transférer via une liaison série. Et pour finir je dois mettre à jour l'IHM.
J'ai créé un application WPF avec le modèle MVVM. J'ai réalisé mon serveur TCP/IP asynchrone. Par contre je ne sais pas comment ensuite faire la liaison pour le traitement des données.
Je me complique peut être la vie mais je pensais faire :
- un thread principal pour l'affichage de l'IHM.
- un thread secondaire qui gère le traitement de données et gère le serveur.
Je pense utiliser pour l'échange d'information entre le serveur et le thread secondaire, une collection de type BlockingCollection<T> pour prendre le modèle producteur/consommateur. Est ce que c'est une bonne idée?
Pour permettre le rafraichissement, je pense utiliser un timer dans le MainViewModel. Est ce que c'est une bonne idée?
Est ce qu'il y a une meilleur architecture à réaliser?
Je vous remercie de votre participation.
Cdl
Partager