public RegistrationForm(RegistrationManager manager, RegistrationResponse registrationResponse) { InitializeComponent(); registrationUrlLabel.Text = registrationResponse.InviteUrl; registrationTokenTextBox.Text = registrationResponse.RegistrationToken; int pollingCounter = 0; Timer pollingTimer = null; pollingTimer = new Timer(state => { pollingCounter++; var pollResult = manager.Poll(registrationResponse.PollingUrl).Result; if (pollResult.Success) { pollingTimer.Dispose(); PollResponse = pollResult; ShowSuccessResult(); } else { if (pollingCounter > 120) // 10 minutes { pollingTimer.Dispose(); ShowFailureResult(); } } }, null, 0, 5000); }