예제 #1
0
        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);
        }