Как очистить весь выходной кэш в asp. net mvc 4.6.1 - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу очистить все выходные кэши в контроллере. Проект asp. net MVC 4.6.1 Я использовал следующий код, но столкнулся с ошибкой компиляции из "ci.GetValue (HttpRuntime.Cache) as CacheStoreProvider". Как очистить весь кэш вывода в контроллере?

        var runtimeType = typeof(System.Web.Caching.Cache);
        var ci = runtimeType.GetProperty(
           "InternalCache",
           BindingFlags.Instance | BindingFlags.NonPublic);

        var cache = ci.GetValue(HttpRuntime.Cache) as CacheStoreProvider;

        var enumerator = cache.GetEnumerator();

        List<string> keys = new List<string>();

        while (enumerator.MoveNext())
        {
            keys.Add(enumerator.Key.ToString());
        }
        foreach (string key in keys)
        {
            cache.Remove(key);
        }
...