/// <summary> /// 用户登录处理程序 /// </summary> private void LoginProcess(string ServerHost, string LoginId, string Password, string AutoLogin, bool Taskbar) { WebClient WebClient = new WebClient(); Uri PostUri = default(Uri); string PostString = ""; byte[] PostData = {}; PostUri = new Uri("" + ServerHost + "/sync/login.ashx?timestamp=" + DateTime.Now.ToString("yyyyMMddHHmmssfffffff") + ""); PostString = "loginid=" + HttpUtility.UrlEncode(LoginId) + "&password="******""; PostData = Encoding.UTF8.GetBytes(PostString); buttonLogin.Enabled = false; buttonLogin.Text = LangTable["buttonLogging"].TypeString(); WebClient.Proxy = null; WebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); WebClient.UploadDataCompleted += (object sender, UploadDataCompletedEventArgs e) => { string Result = ""; string Cookie = ""; try { if (e.Cancelled == false) { if (AppCommon.IsNothing(e.Error) == true) { Result = Encoding.UTF8.GetString(e.Result); Cookie = WebClient.ResponseHeaders.Get("Set-Cookie"); WebClient.Dispose(); if (Result == "complete") { AppConfig.UserSession = Cookie; LoginDataSave(); FormMain FormMain = new FormMain(); if (Taskbar == true) { FormMain.Show(); } else { FormMain.notifyIcon.Visible = true; } this.Hide(); } else if (Result == "lock-user-id") { labelLoginTips.Text = LangTable["tipsLockUserId"].TypeString(); } else { labelLoginTips.Text = LangTable["tipsLoginFailed"].TypeString(); } } else { labelLoginTips.Text = LangTable["tipsLoginFailed"].TypeString(); } } else { labelLoginTips.Text = LangTable["tipsLoginFailed"].TypeString(); } } catch (Exception) { labelLoginTips.Text = LangTable["tipsLoginFailed"].TypeString(); } finally { if (AppCommon.IsNothing(WebClient) == false) { WebClient.Dispose(); } buttonLogin.Enabled = true; buttonLogin.Text = LangTable["buttonLogin"].TypeString(); } }; WebClient.UploadDataAsync(PostUri, PostData); }