У меня есть проблема управления версиями в контракте на обслуживание WCF, когда в одной из многих конечных точек, вызываемых для операции, отсутствует один метод из контракта.
У меня вопрос: как я могу убедиться, что команда доступна на клиенте, прежде чем пытаться ее вызвать?
Я пытался:
foreach (var od in proxy.Endpoint.Contract.Operations)
{
if (od.Name == "MyMethodName")
{
hasMethod = true;
break;
}
}
К сожалению, это использует контракт от вызывающего приложения и фактически не описывает реализации на самой конечной точке. В результате он возвращает true, даже если конечная точка не смогла реализовать команду.