J'écris un programme .dll C/C++ natif qui appelle les fonctions .dll de nombreuses bibliothèques C/C++ tierces et renvoie un tableau de structure (SA) ac/C++ de 18 colonnes de 0-n lignes. Cette valeur renvoyée est ensuite capturée par un programme de service Web WCF C# qui "interagit" avec mon fichier .dll et, en utilisant la bibliothèque .net xml, sérialise le résultat avant d'envoyer le message au client du service Web.Retour d'un tableau de structure C/C++ au format XML/XSD
Je peux voir un overhead ici: (a) préparer des données en C/C++ pour peupler le SA avant de retourner et, (b) sérialiser cette SA en XML une fois qu'il est reçu par le programme de service web C# Pour éviter cette surcharge, je pense qu'au lieu de remplir la SA dans ma DLL C/C++, je devrais remplir une chaîne ou un fichier XML-sérialisé, puis renvoyer ce résultat au programme de service Web C# qui enverra uniquement le données déjà sérialisées directement au client.
À ce stade, je voudrais savoir:
1) Si ma pensée est correcte.
2) Si oui, en plus de remplir les données en XML, je voudrais aussi inclure - en entête - le nom des colonnes, des longueurs et des types de données. Quelqu'un m'a dit que je devais créer une chaîne/un fichier XSD pour décrire cet en-tête. Que penses-tu de cela?
3) Quel genre de choses dois-je considérer dans le programme C# pour ne pas avoir de problèmes avec les données XML retournées? Données XSD?
Merci de votre courtoisie en lisant ceci.