void GetContextCompleted (IAsyncResult result) { var ctx = listener.EndGetContext (result); ProcessNewContext (ctx); // start another listening listener.BeginGetContext (GetContextCompleted, null); }