Я пытаюсь разделить свои веб-службы 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", "*****"};
};
}
Спасибо за помощь! Джастин