В принципе, вы не можете - по крайней мере, с обычными веб-сервисами ... прокси-класс полностью отделен. Однако вышеприведенное возможно с WCF, где на самом деле вам не нужны прокси-классы вообще (однако для чистоты SOA рекомендуется использовать их).
Вы можете использовать отражение (и т. Д.), Чтобы скопировать свойства между объектами вашего домена и прокси-серверами, но довольно сложно сделать это на 100% правильным (хотя сериализация xml должна работать [теоретически] как промежуточный язык).
Итак, если вы хотите использовать совместное использование сборки; рассмотрите возможность использования WCF, который поддерживает это; -p
Чтобы получить доступ к сервису без использования прокси-слоя, вы можете выполнять такие приемы, как:
public class WcfClient<T> : ClientBase<T> where T : class
{
public T Service { get { return base.Channel; } }
}
(это позволит получить доступ к конфигурации по умолчанию из app.config; для большего контроля необходимо добавить несколько перегрузок конструктора, соответствующих базовым перегрузкам конструктора)
Тогда:
interface IFoo {void Bar();}
...
using(WcfClient<IFoo> client = new WcfClient<IFoo>()) {
client.Service.Bar();
}