2013-06-12 18 views
6

Chcę zwrócić listę niektórych zasobów reklamowych z usługi internetowej. Wygląda na to, że usługa sieciowa wymusza powrót listy w postaci tablicy.Zwracanie listy typu z usługi internetowej

W kolejnych 3 linie część tablica działa, ale nie mogę dowiedzieć się, jak oddać go z powrotem do listy typu „InventoryToSync”

List<InventoryToSync> inventoryList = new List<InventoryToSync>(); 
Array theArray = myIcsSyncService.ReturnInventoryToSyncDictionary(); 
inventoryList = myIcsSyncService.ReturnInventoryToSyncDictionary().Cast<InventoryToSync>(); 

Oto moja metoda internetowej:

[WebMethod] 
    [System.Xml.Serialization.XmlInclude(typeof(InventoryToSync))] 
    public List<InventoryToSync> ReturnInventoryToSyncDictionary() 
    { 
     Inventory inventory = new Inventory(); 

     return inventory.GetInventoryList(); 
    } 

Próbowałem wymusić typ za pomocą XmlInclude, ale nadal nie ma go.

Jak zmusić serwis internetowy, aby zwrócił listę mojego InventoryToSync, lub jak przekonwertować tablicę z powrotem na spis zasobów do synchronizacji.

+1

ASMX to technologia starszego typu, i nie powinny być wykorzystywane do nowego rozwoju. WCF powinien być używany do wszystkich nowych projektów klientów i serwerów usług sieciowych. Jedna wskazówka: Microsoft przeszedł na [ASMX Forum] (http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads) na MSDN. –

+1

Dzięki John. Jestem również gotów, aby go wycofać;) – pStan

Odpowiedz

7

W oknie dialogowym "Dodaj usługę odniesienia" kliknij "Zaawansowane" i wybierz jako typ kolekcji opcję List<T>.

enter image description here

+0

Witam, John, czy mógłbyś wyjaśnić nam typ kolekcji "List "? Nie mogę tego zobaczyć. –

+1

Pokazuje jako "System.Collections.Generic.List". Dzięki za niesamowitą edycję. –

Powiązane problemy