@ jodogger, может быть, я что-то упустил, но если сервис возвращает int, он, конечно, не изменит ваш объект.
Проблема в том, что ваш объект на самом деле никогда не совершает двустороннюю поездку на сервер. Из-за отключенной природы WCF вы должны передавать значения byval, а не byref.
Если вам нужно изменить значения в службе WCF, вам нужно сделать что-то вроде этого:
myObject = WCFService.MethodName(myObject);
На самом деле это не тот же самый объект, но вы забьете свой старый объект новыми значениями этого объекта.
Обратите внимание, что возвращаемый объект необходимо будет создать в разделе DataContract интерфейса, а также в самой реализации.