public LoginWebBrowser() { InitializeComponent(); _cookieVisitor = new CookieCollector(); SetupEvents(); }
/// <summary> /// 3. 结束工作(关闭窗体) /// </summary> /// <param name="cookieAddress">Cookie 地址</param> /// <param name="cookieStr">Cookie 字符串</param> /// <param name="closeForm">是否关闭窗体</param> public async void EndWork(string cookieAddress, string cookieStr = null) { isEnding = true; string cookieHeader = null; if (!string.IsNullOrEmpty(cookieAddress) && cookieStr == null) { var visitor = new CookieCollector(); Cef.GetGlobalCookieManager().VisitUrlCookies(cookieAddress, true, visitor); var cookiesList = await visitor.Task; // AWAIT !!!!!!!!! cookieHeader = GetCookieStr(cookiesList); } else if (cookieAddress == null && cookieStr != null) { cookieHeader = cookieStr; } // 关键的赋值 cookie = cookieHeader; historyCookie[EndUrlReg] = cookieHeader; // 关闭窗体 if (form != null && !form.IsDisposed) { MainForm._mainForm.Invoke(new Action(() => { form.Close(); })); } form = null; browser = null; // 清理 Cookie if (visitedAddress.Count > 0) { // 删除已访问过网页的 Cookie foreach (var address in visitedAddress) { var visitor = new CookieCollector(deleteAllCookie: true); Cef.GetGlobalCookieManager().VisitUrlCookies(address, true, visitor); } } }