Alla fine del post potete trovare un paio di righe di codice che generano ed eseguono una query sulla lista MyContactsList, creata e popolata nei post precedenti (qui e qui).
In quei post la lista conteneva al massimo un paio di elementi inseriti a mano da noi mentre, adesso, contiene 100 elementi inseriti tramite il codice presente nel post di popolazione.
Se proviamo a eseguire il codice che legge gli item presenti, vedremo che l’esecuzione sarà più lenta ed onerosa di prima.
Per poter apprezzare meglio questo gap vi consiglio di scaricare e avviare Fiddler.
Ecco cosa succede se lancio la query che mi ritorna tutti gli item presenti nella lista:
Otteniamo 205.039 bytes in ricezione.
Solitamente non si ha la necessità di ottenere tutti i dati dalla sorgente, quindi è il caso di filtrarli anche per ottenere delle prestazioni migliori.
Ecco allora cosa faremo per ottenere solamente il campo Title dei nostri item e il numero di item all’interno della nostra lista:
static void Main(string[] args) { string webUrl = "http://win-040f0ba75i9"; using (ClientContext ctx = new ClientContext(webUrl)) { List list = ctx.Web.Lists.GetByTitle("MyContactsList"); ctx.Load(list, l => l.Title, l => l.ItemCount); ctx.ExecuteQuery(); Console.WriteLine(list.Title); Console.WriteLine(list.ItemCount); } Console.ReadLine(); }Così facendo abbiamo già ridotto drasticamente il numero di bytes in viaggio:
Nel prossimo post vedremo come filtrare gli item in base a un campo
ciao
No comments:
Post a Comment