public async Task GenPcas() { throw new NotImplementedException(); // 此接口不开放,省市区数据同样执行省市区脚本导入至数据库 //“省份、城市、区县” 三级联动数据 pca-code.json //“省份、城市、区县、乡镇” 四级联动数据 pcas-code.json var countryId = (int)CountryWithId.China; var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SampleContent", "pca-code.json"); if (!File.Exists(path)) { return; } var content = File.ReadAllText(path); var pcas = JsonConvert.DeserializeObject <List <SampleDataPcasDto> >(content); var list = new List <StateOrProvince>(); Gen(list, pcas, StateOrProvinceLevel.Default, countryId); _provinceRepository.AddRange(list); await _provinceRepository.SaveChangesAsync(); _cache.Clear(); }
public async Task <Result> Upload() { _cache.Clear(); await Task.CompletedTask; return(Result.Ok()); }
public async Task ResetToSampleData(SampleDataOption model) { var usePostgres = _sqlRepository.GetDbConnectionType() == "Npgsql.NpgsqlConnection"; var useSQLite = _sqlRepository.GetDbConnectionType() == "Microsoft.Data.Sqlite.SqliteConnection"; var useMySql = _sqlRepository.GetDbConnectionType().Contains("MySql"); //var sampleContentFolder = Path.Combine(GlobalConfiguration.ContentRootPath, "Modules", "Shop.Module.SampleData", "SampleContent", model.Industry); //Directory.GetCurrentDirectory() var sampleContentFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SampleContent", model.Industry); var filePath = usePostgres ? Path.Combine(sampleContentFolder, "ResetToSampleData_Postgres.sql") : useSQLite?Path.Combine(sampleContentFolder, "ResetToSampleData_SQLite.sql") : useMySql?Path.Combine(sampleContentFolder, "ResetToSampleData_MySql.sql") : Path.Combine(sampleContentFolder, "ResetToSampleData.sql"); var lines = File.ReadLines(filePath); var commands = usePostgres || useSQLite?_sqlRepository.PostgresCommands(lines) : useMySql?_sqlRepository.MySqlCommand(lines) : _sqlRepository.ParseCommand(lines); _sqlRepository.RunCommands(commands); await CopyImages(sampleContentFolder); _cache.Clear(); }
public async Task ResetToSampleData(SampleDataOption model) { if (_options.Value.ShopEnv == ShopEnv.PRO) { throw new Exception("正式环境不允许此操作!"); } var usePostgres = _sqlRepository.GetDbConnectionType() == "Npgsql.NpgsqlConnection"; var useSQLite = _sqlRepository.GetDbConnectionType() == "Microsoft.Data.Sqlite.SqliteConnection"; var useMySql = _sqlRepository.GetDbConnectionType().Contains("MySql"); var sampleContentFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SampleContent", model.Industry); var filePath = usePostgres ? Path.Combine(sampleContentFolder, "ResetToSampleData_Postgres.sql") : useSQLite?Path.Combine(sampleContentFolder, "ResetToSampleData_SQLite.sql") : useMySql?Path.Combine(sampleContentFolder, "ResetToSampleData_MySql.sql") : Path.Combine(sampleContentFolder, "ResetToSampleData.sql"); var lines = File.ReadLines(filePath); var commands = usePostgres || useSQLite?_sqlRepository.PostgresCommands(lines) : useMySql?_sqlRepository.MySqlCommand(lines) : _sqlRepository.ParseCommand(lines); _sqlRepository.RunCommands(commands); await CopyImages(sampleContentFolder); _cache.Clear(); }
public virtual IActionResult ClearCache(string returnUrl = "") { _cacheManager.Clear(); //home page if (string.IsNullOrEmpty(returnUrl)) { return(RedirectToAction("Index", "Home", new { area = AreaNames.Admin })); } //prevent open redirection attack if (!Url.IsLocalUrl(returnUrl)) { return(RedirectToAction("Index", "Home", new { area = AreaNames.Admin })); } return(Redirect(returnUrl)); }
public virtual IActionResult ClearCache(string returnUrl = "") { //if (!_permissionService.Authorize(StandardPermissionProvider.ManageMaintenance)) // return AccessDeniedView(); _cacheManager.Clear(); //home page //if (string.IsNullOrEmpty(returnUrl)) // return RedirectToAction("Index", "Home", new { area = AreaNames.Admin }); ////prevent open redirection attack //if (!Url.IsLocalUrl(returnUrl)) // return RedirectToAction("Index", "Home", new { area = AreaNames.Admin }); return(Redirect(returnUrl)); }
/// <summary> /// Clear all cache data /// </summary> protected virtual async Task ClearAsync() { _perRequestCacheManager.Clear(); foreach (var endPoint in _connectionWrapper.GetEndPoints()) { var server = _connectionWrapper.GetServer(endPoint); //we can use the code below (commented), but it requires administration permission - ",allowAdmin=true" //server.FlushDatabase(); //that's why we manually delete all elements var keys = server.Keys(database: _database.Database); //we should always persist the data protection key list keys = keys.Where(key => !key.ToString().Equals(RedisConfiguration.DataProtectionKeysName, StringComparison.OrdinalIgnoreCase)); await _database.KeyDeleteAsync(keys.ToArray()); } }
/// <summary> /// Executes a task /// </summary> public void Execute() { _staticCacheManager.Clear(); }
/// <summary> /// Clear cache /// </summary> public virtual void ClearCache() { _cacheManager.Clear(); }
public async Task ExecuteAsync(CancellationToken cancellationToken) { _staticCacheManager.Clear(); await Task.Delay(5000, cancellationToken); }