Как я могу получить дату и время истечения HttpRuntime. Объект кэша?

Изменяя класс объекта времени:

...class = ("Time"), units = "secs"),

я смог агрегировать на основе 24-часового времени.

  #Asumming we call our structure "df"

  #Divide Time series by 3600 to get hour
  df$Time<-df$Time/3600

  #Aggregate by mean based on hour of day
  test<-aggregate(df$Tmp, by=df["Time"], FUN=mean)

  #RE-name for clarity
  names(test)<-c("Time(24 Hr)", "Temp (degree C)")

>Test

   Time(24 Hr) Temp (degree C)
1            0        25.16667
2            1        25.20000
3            2        24.96667
4            3        24.36667
5            4        24.53333
6            5        24.53333
7            6        24.46667
8            7        23.96667
9            8        24.63333
10           9        25.13333
11          10        25.16667
12          11        25.36667
13          12        25.56667
14          13        25.76667
15          14        25.73333
16          15        25.93333
17          16        26.00000
18          17        25.76667
19          18        25.73333
20          19        25.56667
21          20        25.60000
22          21        25.56667
23          22        25.56667
24          23        25.33333
13
задан HowlinWulf 4 July 2014 в 08:47
поделиться

2 ответа

Я просто прошел Систему. Сеть. Кэширование. Кэш в отражателе. На все кажется, что это включает дату окончания срока действия, отмечен как внутренний. Единственное место я нашел открытый доступ к нему, был через Кэш. Добавьте и Кэш. Вставьте методы.

Таким образом, похоже, что Вам не повезло, если Вы не хотите пройти отражение, которое я не рекомендовал бы, если Вам действительно действительно не нужна та дата.

Но если бы Вы хотите сделать это так или иначе, затем вот некоторый код, который добился бы цели:

private DateTime GetCacheUtcExpiryDateTime(string cacheKey)
{
    object cacheEntry = Cache.GetType().GetMethod("Get", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(Cache, new object[] { cacheKey, 1 });
    PropertyInfo utcExpiresProperty = cacheEntry.GetType().GetProperty("UtcExpires", BindingFlags.NonPublic | BindingFlags.Instance);
    DateTime utcExpiresValue = (DateTime)utcExpiresProperty.GetValue(cacheEntry, null);

    return utcExpiresValue;
}

Начиная с.NET 4.5 внутренний общедоступный метод считывания HttpRuntime.Cache был заменен статическим вариантом, и таким образом необходимо будет вызвать/получить статический вариант:

object cacheEntry = Cache.GetType().GetMethod("Get").Invoke(null, new object[] { cacheKey, 1 });
25
ответ дан 1 December 2019 в 22:24
поделиться

Кэш отдельно не истекает. У любого это может иметь объекты (которые истекают) или не есть любые объекты вообще.

-4
ответ дан 1 December 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: