2012-04-12 9 views
9

Ho preso in considerazione un progetto WCF che ha la convenzione di restituire dati in matrici invece che in elenchi. Mi è stato detto che la ragione di ciò è migliorare la potenziale interoperabilità con le applicazioni che non consumano .NET.Array vs Elenco per scopi di interoperabilità con WCF

Esistono dei buoni esempi che illustrano che è utile restituire gli array da un servizio WCF anziché da elenchi?

risposta

10

Ho precedentemente lavorato a un progetto con la stessa implementazione e lo stesso ragionamento. Non sono riuscito a ottenere una spiegazione valida da nessuno dei team di progetto.

Mi piacerebbe sentire una giustificazione, ma finché non lo faccio non ci credo.

Entrambi Array e un List serializzano come raccolta in XML o JSON - non vi è alcuna differenza, perché sono linguaggi interoperabili e funzionalmente nulli. Si noti che quando si utilizza lo strumento "Aggiungi riferimento al servizio ..." in Visual Studio, si ha la possibilità di utilizzare un List o un Array come tipo di raccolta.

Se si utilizza una serializzazione binaria in WCF poi ci sarà una differenza tra List e Array, ma binari serializzazione funziona solo da .NET a .NET quindi non c'è alcun rischio di problemi di interoperabilità.

+0

Grazie, no non sto usando la serializzazione binaria, quindi inizierò a usare gli elenchi. – lockstock

+0

WCF è interoperabile solo con l'autenticazione di base. Io voto per Web API quando è necessaria l'interoperabilità. –

6

Ricordare che i servizi Web non restituiscono gli array. Inoltre non restituiscono le liste. Restituiscono XML.

L'XML per un array è identico all'XML per un elenco.

+0

Cool, quindi penso che sia un clamoroso no. – lockstock

+0

A meno che non si stia utilizzando la serializzazione binaria come menzionato nella risposta di Kirk. – Sal