Asynchronous Processing
http://msdn.microsoft.com/en-us/library/office/ee857094(v=office.14).aspx
using System; using System.Collections.Generic; using Microsoft.SharePoint.Client; class Program { static void Main(string[] args) { AsynchronousAccess asynchronousAccess = new AsynchronousAccess(); asynchronousAccess.Run(); Console.WriteLine("Before exiting Main"); Console.WriteLine(); Console.WriteLine("In a real application, the application can"); Console.WriteLine("continue to be responsive to the user."); Console.WriteLine(); Console.ReadKey(); } } class AsynchronousAccess { delegate void AsynchronousDelegate(); public void Run() { Console.WriteLine("About to start a query that will take a long time."); Console.WriteLine(); ClientContext clientContext = new ClientContext("http://intranet.contoso.com"); ListCollection lists = clientContext.Web.Lists; IEnumerablenewListCollection = clientContext.LoadQuery( lists.Include( list => list.Title)); AsynchronousDelegate executeQueryAsynchronously = new AsynchronousDelegate(clientContext.ExecuteQuery); executeQueryAsynchronously.BeginInvoke( arg => { clientContext.ExecuteQuery(); Console.WriteLine("Long running query completed."); foreach (List list in newListCollection) Console.WriteLine("Title: {0}", list.Title); }, null); } }
0 comments