В моей системе я пытаюсь предоставить клиенту минимальное определение класса данного модуля (поскольку клиент не должен знать о полной реализации этого модуля). На стороне сервиса эквивалентный класс будет иметь дополнительные / разные методы и свойства (которые будут известны только из сервиса).
Теперь я не совсем уверен, каков наилучший способ сделать это в WCF, но я подумал, что мог бы, возможно, сериализовать / десериализовать 2 немного разных объекта назад и вперед. Давайте возьмем в качестве примера эти 2 разных объекта:
// Given to the client
public class SomeClass
{
public int Value { get; set; }
public int MinValue { get; set; }
public int MaxValue { get; set; }
}
// Internal to the service
public class SomeClass
{
// !!! Note that I might also want the getter and setter to do different things here than in previous class
public int Value { get; set; }
public int MinValue { get; set; }
public int MaxValue { get; set; }
public void SomeMethod()
{
// Do something
// ...
}
}
Обратите внимание, что концепция хороша, но любые предложения о том, как это сделать, будут приветствоваться.