Estoy tratando de devolver un tipo complejo de un método de servicio en WCF. Estoy usando C# y .NET 4. Este tipo complejo está destinado a ser invariante (del mismo modo que las cadenas .net). Además, el servicio solo lo devuelve y nunca lo recibe como argumento.WCF DataContract con propiedades de solo lectura
Si trato de definir solo getters en las propiedades me sale un error de tiempo de ejecución. Supongo que esto se debe a que ningún setter causa que la serialización falle. Aún así, creo que este tipo debería ser invariante.
Ejemplo:
[DataContract]
class A
{
[DataMember]
int ReadOnlyProperty {get; private set;}
}
El servicio no puede cargar debido a un problema con la serialización.
¿Hay alguna manera de hacer las propiedades de solo lectura en un WCF DataContract? Tal vez al reemplazar el serializador? ¿Si es así, cómo? Si no, ¿qué sugieres para este problema?
Gracias,
Asaf
Usted puede ser capaz de utilizar los campos de sólo lectura (* no propiedades *) e inicializar en la construcción de su clase. Además ..., posible duplicado: http://stackoverflow.com/q/1873741/945456 –
Esto es aún más importante hoy en día con el cambio a clases inmutables y el soporte de C# -6.0 para propiedades de solo-implementación implementadas automáticamente. – binki