private void StartSessionCompleted(IAsyncResult a) { try { if (a.AsyncState.Equals(1)) { phoneService.EndStartSession(a); cam.PreviewFrameAvailable += cam_PreviewFrameAvailable; } else { phoneService.BeginStartSession(DateTime.UtcNow.GetUnixTimestamp() - App.TimeDifference, (int)resolution.Width, (int)resolution.Height, StartSessionCompleted, 1); } } catch (Exception e) { Dispatcher.BeginInvoke(new Func <Exception, string>(exc => txtDebug.Text = exc.Message), e); } }