Ho classe BookDTO che rappresenta oggetto che sarà utilizzato nello scambio di dati tra client e il servizio dove il servizio è servizio WCF hanno seguenti attributimodo corretto di decorare dto classe nella comunicazione WCF
[Serializable]
[DataContract]
[KnownType(typeof(Book))]
public class BookDTO {...}
È questo il vero e proprio (di serie) modo di decorare l'oggetto che verrà inviato sul filo? esempi che ho visto con
[DataContract(NameSpace="somenamespace.DTO.Book")]
Is [KnownType(typeof(Book))]
redudant qui?
Ho dimenticato di menzionare che mi sono introdotto con gli attributi DataMember, quindi per favore ignoratelo.
L'attributo KnownType viene utilizzato per le classi derivate "de/serializzare". Se l'attributo non è presente, il serializzatore non saprà come dovrebbe "trasmettere" i tipi di base in tipi concreti. –
No Non lo è. È richiesto e la ragione è decifrata http://stackoverflow.com/questions/3167932/c-sharp-wcf-when-is-it-appropriate-to-use-the-knowntype-attribute. – Ehsan
Inoltre non è necessario l'attributo '[Serializable]'. – Josh