2012-04-12 12 views
9

Podjęłam projekt WCF, który ma konwencję zwracania danych w tablicach w przeciwieństwie do list. Powiedziano mi, że powodem tego jest poprawa potencjalnej interoperacyjności z aplikacjami, które nie korzystają z .NET.Array vs List dla celów interoperacyjności z WCF

Czy są jakieś dobre przykłady, które ilustrują, że warto zwrócić tablice z usługi WCF zamiast z list?

Odpowiedz

10

Wcześniej pracowałem nad projektem z tą samą implementacją i tym samym rozumowaniem. Nie udało mi się uzyskać prawidłowego wyjaśnienia od żadnego z zespołów projektowych.

Chciałbym usłyszeć uzasadnienie, ale dopóki nie zrobię, nie wierzę w to.

Zarówno Array i serializować jako kolekcja w XML lub JSON - nie ma różnicy, ponieważ są to języki interoperacyjne i funkcjonalnie puste. Zwróć uwagę, że kiedy używasz narzędzia "Dodaj referencję usługi ..." w Visual Studio, możesz wybrać jako typ kolekcji: List lub Array.

Jeśli używasz serializacji binarnej w WCF to nie będzie różnicy między List i Array, ale binarnym serializacji działa tylko z .NET do .NET, więc nie ma możliwości kwestii interoperacyjności.

+0

Dzięki, nie, nie używam serializacji binarnej, więc zamierzam zacząć używać list. – lockstock

+0

WCF jest interoperacyjne tylko z podstawowym uwierzytelnieniem. Głosuję za Web API, gdy potrzebna jest interoperacyjność. –

6

Należy pamiętać, że usługi sieciowe nie zwracają tablic. Nie zwracają również list. Zwracają XML.

Kod XML tablicy jest identyczny z kodem XML dla listy.

+0

Fajnie, więc myślę, że to nie jest głośne. – lockstock

+0

O ile nie używasz serializacji binarnej, jak wspomniano w odpowiedzi Kirka. – Sal