J'ai un problème de versioning avec un contrat de service WCF dans lequel un des nombreux points d'extrémité qui sont appelés pour l'opération manque une méthode du contrat.Puis-je savoir quelles méthodes WCF sont prises en charge sur le point de terminaison avant de l'appeler?
Ma question est, comment puis-je m'assurer que la commande est disponible sur le client avant d'essayer de l'appeler?
J'ai essayé:
foreach (var od in proxy.Endpoint.Contract.Operations)
{
if (od.Name == "MyMethodName")
{
hasMethod = true;
break;
}
}
Malheureusement, cela est d'utiliser le contrat de l'application d'appel et ne décrit pas réellement les mises en œuvre sur le point final lui-même. Par conséquent, il renvoie true même si le point de terminaison n'a pas réussi à implémenter la commande.
Merci. Malheureusement, nous sommes dans une sorte de scénario inversé ici. Les clients ont reçu l'interface et ont demandé à l'implémenter avec un service. Nous, en tant qu'hôte, les appelons (ce point de terminaison), et en tant que tels, nous n'avons pas la possibilité d'implémenter la gestion des versions pour les nouvelles méthodes car elles sont le serveur dans ce cas, pas nous. Aussi, je pense que nous avons mis en place nos services pour servir Mex seulement pour générer les proxies initiaux via svcutil. Nous ne poussons pas les configurations de Mex à la production. – devlord