Я пытаюсь разделить свои веб-сервисы WCF на несколько сервисов вместо одного гигантского сервиса. Но Visual Studio (клиент Silverlight) дублирует общие классы, общие для обеих служб. Вот простой пример, иллюстрирующий мою проблему.
В этом примере есть две службы. Оба возвращают тип «Персона». По умолчанию VS создает два отдельных прокси-сервера Person в уникальных пространствах имен. Это означает, что «Человек», возвращаемый различными службами, не может быть использован клиентом как одно и то же. Как это исправить? Возможно ли это без написания прокси-классов самостоятельно?
Общее
[DataContract]
public class Person
{
[DataMember]
string FirstName { get; set; }
[DataMember]
string LastName { get; set; }
[DataMember]
string PrivateData { get; set; }
}
StaffService.svc
[ServiceContract(Namespace = "")]
public class StaffService
{
[OperationContract]
public Person GetPerson ()
{
return new Person {"John", "Doe", "secret"};
};
}
PublicService.svc
[ServiceContract(Namespace = "")]
public class PublicService
{
[OperationContract]
public Person GetPerson ()
{
return new Person {"John", "Doe", "*****"};
};
}
Спасибо за помощь!
Justin