Стандарт SOAP не поддерживает концепцию обобщений, поэтому он не поддерживается непосредственно в WCF.Однако вы можете добиться этой поддержки, если вы управляете и клиентом, и службой WCF , разделяя DLL-библиотеку ServiceContract между клиентом и службой.Убедитесь, что это действительно то, что вам нужно, поскольку , а не рекомендуемая лучшая практика SOA.
Здесь - это статья , в которой описывается, как работает этот подход.При совместном использовании ServiceContract ( не DLL реализации службы) и использовании класса WCF ChannelFactory вам не нужно создавать прокси-класс, поскольку класс ChannelFactory сделает это динамически за вас.Сборка ServiceContract также должна содержать все отмеченные классы DataMember, на которые ссылаются, что является основным недостатком этого подхода, поскольку любая содержащаяся в них логика также будет использоваться совместно.Пока классы DataMember являются просто объектами передачи данных (DTO), вы не будете полностью изгибать объекты SOA.В статье также объясняется, как это сделать с помощью класса WCF ClientBase.