public MediaWikiOptions(MediaWikiAccount acc, IWebProxy proxy) { this.Account = acc; this.ProxySettings = proxy; }
public MediaWikiOptions(MediaWikiAccount acc, IWebProxy proxy) { this.Account = acc; this.ProxySettings = proxy; }
private void TestMediaWikiAccountThread(MediaWikiAccount acc, Action success, Action<string> failure) { try { MediaWiki connector = new MediaWiki(new MediaWikiOptions(acc, null)); // TODO: MediaWiki CheckProxySettings().GetWebProxy connector.Login(); success(); } catch (Exception ex) { // ignore ThreadInterruptedException : the request timed out and the thread was interrupted if (!(ex.InnerException is ThreadInterruptedException)) failure(ex.Message); } }
private void MediawikiAccountAddButton_Click(object sender, EventArgs e) { MediaWikiAccount acc = new MediaWikiAccount("New Account"); Config.MediaWikiAccountList.Add(acc); ucMediaWikiAccounts.AccountsList.Items.Add(acc); ucMediaWikiAccounts.AccountsList.SelectedIndex = ucMediaWikiAccounts.AccountsList.Items.Count - 1; }
private void TestMediaWikiAccount(MediaWikiAccount account, Action success, Action<string> failure) { var timeoutTimer = new System.Windows.Forms.Timer(); Thread thread = new Thread(new ThreadStart(delegate { TestMediaWikiAccountThread(account, delegate() { timeoutTimer.Stop(); success(); }, delegate(string msg) { timeoutTimer.Stop(); failure(msg); }); })); thread.Start(); timeoutTimer.Interval = 10000; timeoutTimer.Tick += new EventHandler(delegate(object sender, EventArgs e) { thread.Interrupt(); timeoutTimer.Stop(); failure("The website at the URL you specified doesn't answer"); }); timeoutTimer.Start(); }