Problèmes relatifs aux métadonnées
L'infrastructure .NET Remoting nécessite des métadonnées correctes pour connecter un objet d'un domaine d'application à un objet d'un autre domaine. Dans tous les cas, le domaine d'application client doit posséder les métadonnées de l'objet distant dont il a l'intention de se servir. Les aspects importants à garder à l'esprit sont les suivants :
Pour les objets activés par le serveur, le nom d'assembly qui contient le type doit être le même côté client et côté serveur, et le nom de type doit être identique. Cela tient au fait que l'identité est déterminée à l'aide de la combinaison de nom assembly-type, y compris la version de l'assembly et toutes les informations de nom fort.
Pour les objets activés par le client, le nom d'assembly qui contient le type doit être le même côté client et côté serveur, et le nom de type doit être identique. En outre, le client doit posséder une implémentation actuelle du type distant et tous les membres doivent avoir exactement la même signature que les membres correspondants sur l'implémentation serveur.
Notes
Il n'est pas nécessaire que l'implémentation client soit l'implémentation serveur. Si vous ne voulez pas que le client accède à l'implémentation serveur, vous pouvez créer une bibliothèque auxiliaire qui remplit toutes les exigences ci-dessus, mais contient des membres extraits qui lèvent une exception NotSupportedException. L'outil Soapsuds Tool (Soapsuds.exe) accomplit cette tâche pour des clients à l'aide de la sérialisation SOAP. Vous pouvez accomplir cette opération pour n'importe quel type publié, ordonné par référence à l'aide d'un canal.