Лично я никогда не использую созданные прокси-классы WCF.Слишком легко накатить свой собственный прокси-класс.Это все, что нужно (методы могут быть добавлены для вас Visual Studio при добавлении интерфейса ServiceContract в прокси-класс):
using System.ServiceModel;
namespace My.Namespace
{
public class MyServiceContractProxy : ClientBase<IMyServiceContract>, IMyServiceContract
{
public MyServiceContractProxy() { }
public MyServiceContractProxy(string endpointName) : base(endpointName) { }
#region IMyServiceContract Members
public int AddValues(int val1, int val2)
{
return Channel.AddValues(val1, val2);
}
#endregion
}
}
Если ваш ServiceContract изменится, он выдаст ошибку компиляции, потому чтопрокси больше не будет соответствовать интерфейсу, но обычно его редактирование занимает не более 10 секунд.