WCF одинакового типа выставляется двумя веб-сервисами - PullRequest
0 голосов
/ 22 февраля 2011

У меня есть 2 веб-службы, которые предоставляют один и тот же тип.

WebService1{
    public MyData Retrive(int id){...}
}
WebService2{
    public void Save(MyData x){...}
}

Я использую эти 2 службы, такие как:

var x=client1.Retrieve(3);
client2.Save(x);

Проблема: x имеет тип WebService1Client.MyData;Сохраните требования x типа WebService2Client.MyData;

MyData того же типа, предоставляемые 2 веб-сервисами.Я не могу поместить оба метода в одну и ту же услугу.Что я должен делать?

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

вы можете объявить свой класс MyData в другой сборке, библиотеке классов и ссылаться на эту сборку из веб-сервисов, а также из клиентского кода, который вызывает эти сервисы.

Вы также можете рассмотреть правильное наследование и иметь MyData в качестве производного класса базового класса, если это поможет вам, тогда ваши службы будут работать только с базовым классом.

на самом деле WCF очень помогает в этом, потому что он вводит концепцию DataContract, которую вы должны правильно использовать в этом случае.

1 голос
/ 22 февраля 2011

Определите MyData в отдельной библиотеке классов, на которую ссылаются обе ваши веб-службы. Также ссылайтесь на эту общую библиотеку в своих клиентах, и при добавлении ссылок на службы убедитесь, что выбран вариант повторного использования существующих типов. Тогда обе стороны обеих служб WCF будут использовать один и тот же тип.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...