Estás al final del cable del servicio y no conoces a tus clientes.¿Deberían los DataContracts de WCF ser tipos de valor o referencia?
¿Por qué elegirías una sobre la otra?
Estás al final del cable del servicio y no conoces a tus clientes.¿Deberían los DataContracts de WCF ser tipos de valor o referencia?
¿Por qué elegirías una sobre la otra?
Como regla general; al diseñar un tipo usted mismo debe ser una clase, a menos que el tipo represente un solo valor, en cuyo caso debe ser una estructura.
Fredrik tiene la respuesta correcta. Solo agregaré que debe tener en cuenta que el cliente nunca verá su Contrato de datos. Se traducirá al Esquema XML y se incluirá en el WSDL. Del lado del cliente, recuerde, podría ser un cliente ASP Perl o incluso Classic, algo que no tiene ningún concepto de valor vs. semántica de referencia.
Por lo tanto, el valor frente a la referencia es algo que solo le importa al servicio, no a los clientes.
En realidad, John Saunders no es del todo correcto. El WSDL generado por WCF hace de hecho indica si los objetos son o no valores o tipos de referencia. Cuando tiene WCF en el lado del cliente, puede aprovechar esto. Además, el valor vs referencia tiene un impacto en el atributo isNullable de varias partes del WSDL que puede cambiar la semántica.
Por supuesto, debe asegurarse de no pintarse en una esquina de incompatibilidad: un tipo de valor anulable no es necesariamente lo mismo que un tipo de referencia (o posible) en algunos entornos de cliente.
Editado q. Eso es exactamente lo que trato de debatir aquí;) – user134706