private async void ResetBrowser() { SettingsViewModel settingsViewModel = this; bool isNeedRestart = false; if (Cef.IsInitialized) { if (await settingsViewModel.ShowYesOrNoDialogAsync("Запрос", "Для сброса браузера, нужен перезапуск приложения.") == MessageDialogResult.Negative) { return; } isNeedRestart = true; CefSharpShutdown.ShutDown(true); CefSharpShutdown.KillProcess(); } try { DirectoryInfo directoryInfo = new DirectoryInfo(ClientConfig.AppDataPath + "\\\\BrowserData\\cache"); if (directoryInfo.Exists) { directoryInfo.Delete(true); } int num = 0; FakeProfileFactory fakeProfileFactory = new FakeProfileFactory(); FakeProfileCompaer fakeProfileCompaer = new FakeProfileCompaer(); while (num < 100) { ++num; FakeProfile fakeProfile = fakeProfileFactory.Generate(); if (!settingsViewModel.FakeProfiles.Contains <FakeProfile>(fakeProfile, (IEqualityComparer <FakeProfile>)fakeProfileCompaer)) { settingsViewModel.FakeProfiles.Add(fakeProfile); settingsViewModel.SaveUserAgents(settingsViewModel.FakeProfiles); settingsViewModel.CurrentSettings.UserSettings.FakeProfile = fakeProfile; settingsViewModel.CurrentUserAgent = fakeProfile.UserAgent; break; } } if (num > 99) { await settingsViewModel.ShowErrorDialogAsync("Не удалось сгенерировать уникальный UserAgent(который вы еще не использовали). Попробуйте еще раз или поменяйте настройки генерации"); return; } Settings.Save(settingsViewModel.CurrentSettings); await settingsViewModel.ShowSuccessDialogAsync("Браузер сброшен."); if (isNeedRestart) { settingsViewModel.Restart(); Application.Current.Shutdown(); } } catch (Exception ex) { await settingsViewModel.ShowErrorDialogAsync("Проблема со сбросом браузера! " + Environment.NewLine + ex.Message); } }
public void GenTempNewFakeProfile() { this.FakeProfile = new FakeProfileFactory().Generate(); }
public JsInjectingLoader(FakeProfile fakeProfile) { this.FakeProfile = fakeProfile; this.LoadAllPack(); }
public LoadHandler(FakeProfile profile) { this.SetNewProfile(profile); }
public void SetNewProfile(FakeProfile profile) { this._jsLoader = new JsInjectingLoader(profile); }