2012-04-12 10 views
9

He tomado un proyecto WCF que tiene la convención de devolver datos en Arrays en lugar de Listas. Me dijeron que la razón para esto es mejorar la interoperabilidad potencial con aplicaciones que no consumen .NET.Matriz vs Lista para fines de interoperabilidad con WCF

¿Hay algún buen ejemplo que demuestre que vale la pena devolver las matrices de un servicio WCF en lugar de listas?

Respuesta

10

Anteriormente trabajé en un proyecto con la misma implementación y el mismo razonamiento. No pude obtener una explicación válida de parte del equipo del proyecto.

Me gustaría escuchar una justificación, pero hasta que lo haga no lo creo.

Array y List serializar como una colección en XML o JSON - no hay diferencia, ya que estos son idiomas interoperables y nulos funcionalmente. Tenga en cuenta que cuando utiliza la herramienta 'Agregar referencia de servicio ...' en Visual Studio, tiene la opción de usar un List o un Array como su tipo de colección.

Si utiliza una serialización binaria en WCF entonces habrá una diferencia entre List y Array, pero binaria serialización sólo funciona desde .NET a .NET lo que no hay posibilidad de que los problemas de interoperabilidad.

+0

Gracias, no, no estoy usando la serialización binaria, así que voy a empezar a usar listas. – lockstock

+0

WCF solo es interoperable con autenticación básica. Voto la API web cuando se necesita interoperabilidad. –

6

Recuerde que los servicios web no devuelven matrices. Tampoco devuelven listas. Devuelven XML.

El XML de una matriz es idéntico al XML de una lista.

+0

Genial, así que creo que es un no rotundo. – lockstock

+0

A menos que esté utilizando la serialización binaria como se menciona en la respuesta de Kirk. – Sal