Я уверен, что это довольно распространенная проблема. У меня две службы WCF, которые в основном предоставляют стандартный доступ и административный доступ к одной более крупной службе.
Аналогичный метод Foo
существует для каждой службы. Foo
принимает аргумент типа TemplateInfo
, который определен в моей службе.
На моем клиенте у меня есть ссылка на Client
и AdminClient
. Client.Foo (TemplateInfo)
ожидает Client.TemplateInfo
, а AdminClient.Foo (TemplateInfo)
ожидает AdminClient.TemplateInfo
. Я знаю, что как только служба будет достигнута, Client.TemplateInfo
и AdminClient.TemplateInfo
- это одно и то же.
Я пытаюсь понять, как создать экземпляр TemplateInfo и / или привести его для работы как с клиентскими, так и с административными методами. Для создания этого объекта имеется приличное количество кода, поэтому я надеялся не дублировать его для каждого типа.
Типы определены в общих сборках, и я «повторно использую типы» в своем прокси. Но у меня есть два разных типа, потому что у меня есть две ссылки на службы.
Было бы здорово сделать что-то вроде (AdminClient) TemplateInfo, но, возможно, я создам метод клонирования для преобразования типов.