2010-06-04 13 views
2

Si j'ai un service WCF qui accepte un IEnumerable en tant que paramètre pour une fonction, est-ce que l'ordre dans lequel je recherche les éléments est le même que celui qui a été ajouté à la collection? (Ou au moins le même ordre, ils ont été envoyés à travers le fil?)Puis-je garantir l'ordre d'insertion de IEnumerables sur WCF?

Sinon, existe-t-il un moyen de garantir la commande, par exemple en la définissant dans le contrat de service en tant que liste?

Répondre

4

Le sérialiseur va naturellement sérialiser les éléments dans l'ordre dans lequel ils sont servis par l'énumérateur de la collection. Pour un List ou Array, ce sera toujours l'ordre dans lequel ils sont ajoutés, mais pour tout ce qui est basé sur une hashtable, la commande n'est pas garantie. Pour garantir la commande, utilisez une collection basée sur un tableau.

2

Je le définirais comme un tableau, je pense que l'IEnumerable est sérialisé de toute façon.