Nous avons actuellement développé une application utilisant WCF. Nos clients établissent des connexions à différents hôtes de service WCF situés sur le serveur, et les hôtes de service renvoient les données de la base de données dont les clients ont besoin. Modèle standard. Cependant, cette conception actuelle a toutes nos données WCF dans les fichiers app.config tant du côté client que du côté servicehost. Nous voulons rendre cela plus dynamique et avoir déplacé toutes les données, y compris les points de terminaison, les contrats et les liaisons, dans la base de données.Comment travailler avec des objets en utilisant Dynamic WCF?
Maintenant, la question est de savoir comment récupérer ces données et y accéder correctement. Nous travaillons avec un point de terminaison défini dans un fichier de configuration, et en utilisant ce point de terminaison, nous pouvons l'appeler pour obtenir le reste des informations de point de terminaison dont nous avons besoin (c'est-à-dire toutes les liaisons, tous les contrats et différents points de terminaison qu'elle avait définis dans son app.config). C'est le cas tant du côté client que du côté servicehost.
Le problème avec lequel je me bats maintenant est comment puis-je coder par rapport à ces points de terminaison dynamiques? Lorsque le client appelle l'hôte de service, il effectue non seulement des appels simples à l'hôte de service, mais récupère et renvoie les objets pour que l'hôte de service puisse les traiter selon les besoins. Par exemple, lors d'un chargement de formulaire, nous pouvons récupérer l'objet avec tous les paramètres actuellement définis dans la base de données, puis l'utilisateur fait quoi que ce soit sur le fornm, puis nous passons l'objet mis à jour à l'hôte de service. Nous pouvons le faire maintenant car dans Visual Studio 2008, nous avons ajouté toutes les références de service, qui ont généré automatiquement les méthodes et les objets qui peuvent être appelés et récupérés à partir des hôtes de service. Si nous passons à une connexion de point de terminaison dynamique, comment obtenons-nous ces données pendant la phase de développement? J'ai développé une application similaire dans .NET 2.0 à l'aide de .NET remoting, où nous passions l'objet d'avant en arrière, et le client et le serveur utilisaient tous deux la même classe de définition d'objet pour connaître l'objet . Je ne sais pas comment nous ferions cela avec la WCF.
Cela fonctionne si je connais le type 'YourServiceClient'. Le problème que je rencontre est quand le type est retourné à partir d'un DB, et pas connu au moment de l'instanciation. – Noah